文件系统(node.js学习笔记)

根据nodejs菜鸟教程整理。

官方API文档:nodeJS文件系统API

其他整理:nodejs File System 文件系统操作函数分类

1、引用:

导入文件系统模块(fs)语句:var fs = require("fs")

2、异步与同步:

异步:fs.readFile();   第一个参数为回调error信息。

同步:fs.readFileSync();

eg:

// 异步读取
fs.readFile('input.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("异步读取: " + data.toString());
});

3、打开文件:

fs.open(path, flags[, mode], callback)

其中path为文件路径,flags为文件打开方式,mode为文件权限,callback(err,fd)为回调函数,

其中callback的第二个参数fd为文件描述符。

源码:

fs.open = function(path, flags, mode, callback) {
  callback = makeCallback(arguments[arguments.length - 1]);
  mode = modeNum(mode, 438 /*=0666*/);
  if (!nullCheck(path, callback)) return;
  binding.open(pathModule._makeLong(path),
               stringToFlags(flags),
               mode,
               callback);
};

4、获取文件信息:

fs.stat(path, callback)

其中path为文件路径,callback(err, stats)为回调函数,其中stats参数 是 fs.Stats 对象,也是文件详细信息。

5、写入文件:

fs.writeFile(filename, data[, options], callback)

如果文件存在,该方法写入的内容会覆盖旧的文件内容。

参数使用说明如下:   

  path - 文件路径。

  data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。

  options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'

  callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回

6、读取文件:

fs.read(fd, buffer, offset, length, position, callback)

该方法使用了文件描述符(open方法的callback的参数fd)来读取文件。

参数使用说明如下:  

    fd - 通过 fs.open() 方法返回的文件描述符。

    buffer - 数据写入的缓冲区。

    offset - 缓冲区写入的写入偏移量。

    length - 要从文件中读取的字节数。

    position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。

    callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

7、关闭文件:

fs.close(fd, callback)

这个callback终于没有参数了!!!

8、截取文件:

fs.ftruncate(fd, len, callback)

参数使用说明如下:

    fd - 通过 fs.open() 方法返回的文件描述符。

    len - 文件内容截取的长度。

    callback - 回调函数,没有参数。


9、删除文件:

fs.unlink(path, callback)

删除文件的callback也没有参数。

10、创建目录:

fs.mkdir(path[, mode], callback)

参数使用说明如下:

    path - 文件路径。

    mode - 设置目录权限,默认为 0777。

    callback - 回调函数,没有参数。

11、读取目录:

fs.readdir(path, callback)

callback有两个参数,其中err为错误信息,files为当前目录下文件数组列表。

12、删除目录

fs.rmdir(path, callback)

此callback无参。

posted @ 2016-03-10 12:41  羽铭  阅读(292)  评论(0编辑  收藏  举报