新建copyFile.js
var fs = require("fs"); function copyFile(src,dest){ varfile = fs.readFileSync(src);//根据文件路劲读取文件 fs.writeFileSync(dest,file);//将内容写入文件 } function main(argv){ copyFile(argv[0],argv[1]); } main(process.argv.slice(2));//接受命令参数
运行效果:
将in.txt拷贝为out.txt
修改copyFile函数的内容为:
fs.createReadStream(src).pipe(fs.createWriteStream(dest));
管道连接了输入输出流,可以实现大文件拷贝。
新建travelDir.js
var fs = require("fs"); var path = require("path"); function travel(dir, callback) { fs.readdirSync(dir).forEach(function (file) { var pathname = path.join(dir, file);//拼接子路径 if (fs.statSync(pathname).isDirectory()) {//判断是否是文件夹 travel(pathname, callback); } else { callback(pathname); } }); } function printDir(argv){ travel(argv[0],function (pathname) { console.log(pathname); }); } printDir(process.argv.slice(2));
对文件结构为:
testTravelDir/ └── fathers ├── childs │ ├── child01.txt │ └── child02.txt └──father01.txt 2 directories, 3 files
略
字符编码
略
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
官方文档:http://nodejs.org/api/buffer.html
字符串和二进制互操作
.on(...);
.end();
.pause();
.resume();
文件属性读写:
fs.stat
fs.chmod
fs.chown
文件内容读写:
fs.readFile
fs.readdir
fs.writeFile
fs.mkdir
底层文件操作:
fs.open
fs.read
fs.write
fs.close
.normalize
.join
.extname
参考http://www.nodewhy.com/post/15