一、文件拷贝
1.1 小文件操作
var fs = require('fs');
function copy(src, dst) {
fs.writeFileSync(dst, fs.readFileSync(src));
}
function main(argv) {
copy(argv[0], argv[1]);
}
main(process.argv.slice(2));
nodejs
提供了fs
模块来实现文件操作。在小文件读取中,使用fs.writeFileSync
来实现文件的拷贝。
1.2 大文件操作
var fs = require('fs');
function copy(src, dst) {
fs.createReadStream(src).pipe(fs.createWriteStream(dst));
}
function main(argv) {
copy(argv[0], argv[1]);
}
main(process.argv.slice(2));
使用fs.createReadStream(src).pipe()
来实现大文件读取。
文件操作有关的api
- buffer。提供对二进制数据的操作
- stream。当内存中无法一次装下需要处理的数据时,或者一边读取一边处理更加高效时,我们就需要用到数据流
- 文件系统。nodejs通过
fs
对文件进行操作。fs模块提供的方法有下面三类。
文件属性读写。
其中常用的有fs.stat、fs.chmod、fs.chown等等。
文件内容读写。
其中常用的有fs.readFile、fs.readdir、fs.writeFile、fs.mkdir等等。
底层文件操作。
其中常用的有fs.open、fs.read、fs.write、fs.close等等。 - path。操作文件时难免不与文件路径打交道。NodeJS提供了path内置模块来简化路径相关操作,并提升代码可读性