文件 I/O fs 模块的基本用法 (fs 模块文件是对标准POSTX函数的简单封装)
- 文件的写入:fs.writeFile(filename,data,callback)
如果文件已经存在,将会替换
数据参数可以是string或者是Buffer,编码格式参数可选,默认为”utf8”,回调函数只有一个参数err。
1 2 3 4 5 6
| var fs= require("fs"); fs.writeFile('test.txt','hello',function(err,data){ if(err) throw err; console.log("success"); });
|
- 追加写入,文件存在,只是在已有文件中写入数据 appendFile(‘文件名’,’添加的数据‘,’编码‘,callback(err,data)
编码默认 utf8
1 2 3 4 5 6
| var fs= require("fs"); fs.appendFile('文件名’,’添加的数据‘,’编码‘,callback(err,data){ if(err) throw err; console.log('append success'); });
|
- 检查文件是否存在 fs.exists(文件,callback); callback 的参数只有一个值 布尔值 判断文件是否存在
1 2 3 4 5 6
| var fs = require("fs"); fs.exists('文件路径',function(exists){ console.log(exists ? "存在":"不存在");//true 存在 });
|
4.rename 修改文件名称 (移动文件)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| //修改名称 var fa= require("fs"); fs.rename(旧文件,新文件,callback(err){ if(err) throw err; console.log("successful modification"); }); //移动文件 fs.rename(旧路径,新路径,callback(err){ if(err) throw err; console.log("successful remove"); });
|
- fs.readFile(); 读文件
1 2 3 4 5 6
| var fs = require("fs"); fs.readFile(文件名,function(err,data){ if(err) throw err; console,log(data); });
|
- fs.unlink();删除文件
1 2 3 4 5 6
| var fs = require("fs"); fs.unlink(文件,function(err){ if(err) throw err; console.log("sucessful deleted"); });
|
- 创建目录 fs.mkdir();
fs.mkdir(路径,权限,回调函数(err));
路径:新创建的目录。
权限:可选参数,只在linux下有效,表示目录的权限,默认为0777,表示文件所有者、文件所有者所在的组的用户、所有用户,都有权限进行读、写、执行的操作。
回调函数:当发生错误时,错误信息会传递给回调函数的err参数。
- 删除目录也是必不可少的功能,rmdir函数可以删除指定的目录:
1 2 3 4 5 6 7 8
| 例:fs.rmdir(路径,回调函数(err)); var fs = require('fs'); fs.rmdir(path, function(err) { if (err) throw err; console.log('ok'); });
|
读取目录下所有的文件readdir()
var fs = require(‘fs’);
fs.readdir(目录,回调函数(err,files));
回调函数 (callback) 接受两个参数 (err, files) 其中 files 是一个存储目录中所包含的文件名称的数组,数组中不包括 ‘.’ 和 ‘..’。