Node.js --文件系统常用函数

文件系统

Node实现文件I/O使用标准的POSIX函数简单包装

导入文件系统模块(fs)语法:

var fs = require("fs")
1.异步、同步
  • Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本

  • 异步方法即前后端处理不需要相互等待

  • 回调:等事件触发后再执行,是一个异步等效的功能

  • 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。

  • 建议使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。

2.文件模块常用函数:
  1. 读文件:
  • 异步读取文件(非阻塞方式) readFile()
fs.readFile(filename,function(err,buffer)){
    
    
	if(err) throw err;
	process(buffer)
}
//参数解释:
//filename->文件路径
//err->存放文件读取错误时的错误信息
//buffer->存放读出的信息
  • 同步读取文件,返回一个字符串(阻塞方式)readFileSync()
var text=fs.readFileSync(filename,'utf8');
  1. 打开文件:open()
fs.open(path,flags[,mode],callback)
//参数解释:
//path -文件名,包括路径
//flags -打开方式
//mode -设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。
//callback -回调函数,带有两个参数如:callback(err, fd)。
  1. 获取文件信息:stat()
fs.stat(path, callback)
//参数说明:
// path - 文件路径。
// callback - 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象。

  1. 写入文件
  • 异步(如果文件已存在将会覆盖文件)
fs.writeFile(file, data[, options], callback)
//参数说明:
// file - 文件名或文件描述符。
// data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。
// options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'
// callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

  • 同步
fs.writeFileSync(filename,data[,options])
  1. 读取文件(二进制方式,按字节读取)
fs.read(fd, buffer, offset, length, position, callback)
//参数说明:
//fd - 通过 fs.open() 方法返回的文件描述符。
// buffer - 数据写入的缓冲区。
// offset - 缓冲区写入的写入偏移量。
// length - 要从文件中读取的字节数。
// position - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
// callback - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。

  1. 关闭文件
fs.close(fd, callback)
//参数说明:
// fd - 通过 fs.open() 方法返回的文件描述符。
// callback - 回调函数,没有参数。

  1. 复制文件
fs.copyFile(originalpath,targetpath,callback)
//originalpath -源文件
//targetpath -目标文件
  1. 追加内容(将内容添加到文件末尾,若该文件不存在则创建文件)
fs.appendFile(filename,content,callback)
  1. 删除文件
fs.unlink(path, callback)
  1. 文件重命名
fs.rename(oldPath, newPath, callback)
//异步 rename().回调函数没有参数,但可能抛出异常。
  1. 创建目录
fs.mkdir(path[, options], callback)
//参数说明:
// path - 文件路径。
// options 参数可以是:recursive - 是否以递归的方式创建目录,默认为 false;mode - 设置目录权限,默认为 0777。
// callback - 回调函数,没有参数。

  1. 读取目录
fs.readdir(path, callback)
//callback - 回调函数,回调函数带有两个参数err, files,err 为错误信息,files 为 目录下的文件数组列表。
  1. 删除目录
fs.rmdir(path, callback)
//callback回调函数,没有参数

猜你喜欢

转载自blog.csdn.net/isfor_you/article/details/113945162
今日推荐