NodeJS操作文件相关总结

来源:互联网 发布:虚拟商品自动发货源码 编辑:程序博客网 时间:2024/05/22 06:32


最近在学习nodeJS, 其能够操作文件的功能也是颇为强大,现在总结一下,常用的API。内容参考与官网api   https://nodejs.org/api/fs.html

1. 总体说明。

file system 提供了异步同步的文件操作形式。

如果用了异步形式,那么异步的文件操作函数都会有回调函数作为最后的参数。而传给回调函数的参数随fs函数的不同而不同,但是第一个参数总是err,如果文件操作没有问题,那么errnull 或者 undefined。

如果用了同步,会立即抛出异常,可以用try/catch来捕获处理异常。


2. fs模块提供的操作主要有三类。

a 文件操作,直接操作文件

b 文件属性读写

c 底层文件操作,可以规定从什么地方开始读取文件。一般来说不用这个,因为它要求手动管理缓冲区与文件指针,这个是不好判断的。


a:文件操作常用

fs.rename(oldPath, newPath, callback) 重命名对应的同步操作:fs.renameSync(path1,path2)

fs.ftruncate(fd, len, callback)截断文件fd,只保留len长度内的字符,超出部分被清除

fs.truncate(path, len, callback) 这里是路径,上面是file descriptor。

fs.unlink(path, callback)可以删除文件或链接

fs.mkdir(path[, options], callback) 创建文件夹,及对应权限

fs.rmdir(path, callback) 删除文件夹。

fs.readdir(path, callback)读取目录中的内容。回调函数接受两个参数(err, files),其中files参数是保存了目录中所有文件名的数组('.''..'除外)。

fs.readFile(file[,options], callback)读取文件,options一般是文件编码‘utf-8’ 。callback的参数有两个,err,data。data就是文件内容


<span style="font-size:12px;">function readFile(){    console.log('--------开始读取文件--------');    var fs = require('fs');    fs.readFile('test.txt', 'utf-8', function(err, data) {        if (err) {            console.log("读取失败");        } else {            console.log(data);            return data;        }    });    console.log('--------读取结束--------');}readFile();</span>

fs.writeFile(file,data[,options],callback) 写文件。file:字符串代表文件名,或者file descriptor。data:字符串|Buffer。options:编码模式(utf8),或者文件读写权限(438),或者flag(w)

fs.appendFile(file, data[,options], callback) 将data加到file最后面。例子:

<span style="font-size:12px;">fs.appendFile('message.txt', 'data to append', function (err) {  if (err) throw err;  console.log('The "data to append" was appended to file!');});</span>



0 0