Page 75 - Node.js开发指南
P. 75

4.4  文件系统 fs   67


                   当读取文件出现错误时,err 将会是 Error 对象。如果 content.txt 不存在,运行前面                                1
               的代码则会出现以下结果:

                   { [Error: ENOENT, no such file or directory 'content.txt'] errno: 34, code: 'ENOENT',
               path: 'content.txt' }
                                                                                                      2
                                  Node.js 的异步编程接口习惯是以函数的最后一个参数为回调函数,通
                              常一个函数只有一个回调函数。回调函数是实际参数中第一个是  err,其
                              余的参数是其他返回的内容。如果没有发生错误,err 的值会是  null 或
                              undefined。如果有错误发生,err 通常是 Error 对象的实例。                                  3


               4.4.2  fs.readFileSync

                   fs.readFileSync(filename, [encoding])是 fs.readFile 同步的版本。它接受                       4
               的参数和 fs.readFile 相同,而读取到的文件内容会以函数返回值的形式返回。如果有错
               误发生,fs 将会抛出异常,你需要使用 try 和 catch 捕捉并处理异常。

                              与同步 I/O 函数不同,Node.js 中异步函数大多没有返回值。                                      5




               4.4.3  fs.open
                                                                                                      6
                   fs.open(path, flags, [mode], [callback(err, fd)])是 POSIX open 函数的
               封装,与 C 语言标准库中的 fopen 函数类似。它接受两个必选参数,path 为文件的路径,
               flags 可以是以下值。
                     r  :以读取模式打开文件。                                                                  7
                     r+ :以读写模式打开文件。
                     w  :以写入模式打开文件,如果文件不存在则创建。
                     w+ :以读写模式打开文件,如果文件不存在则创建。
                                                                                                      8
                     a  :以追加模式打开文件,如果文件不存在则创建。
                     a+ :以读取追加模式打开文件,如果文件不存在则创建。
                                                                        ①
                   mode  参数用于创建文件时给文件指定权限,默认是 0666 。回调函数将会传递一个文
               件描述符 fd 。                                                                              9
                           ②
               ——————————
                  ① 文件权限指的是 POSIX 操作系统中对文件读取和访问权限的规范,通常用一个八进制数来表示。例如 0754 表
                     示文件所有者的权限是 7 (读、写、执行),同组的用户权限是 5 (读、执行),其他用户的权限是 4 (读),
                     写成字符表示就是 -rwxr-xr--。                                                             10
                  ② 文件描述符是一个非负整数,表示操作系统内核为当前进程所维护的打开文件的记录表索引。
   70   71   72   73   74   75   76   77   78   79   80