NodeJs版本:4.4.4
fs
文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本。
图片的复制与粘贴
创建一个可读流与一个写入流。通过管道pipe。
var fileReadStream = fs.createReadStream(sourcePath);var fileWriteStream = fs.createWriteStream(targetPath);fileReadStream.pipe(fileWriteStream);//监听关闭事件得知执行完成fileWriteStream.on('close', function() { console.log('移动成功!'); })
读文件(fs.readFile)
定义:fs.readFile(filename[, options], callback)
参数:
filename:{String} 文件名/文件路径 options:{Object} 可选参数encoding:{String | Null} 默认 = null 编码方式
flag:{String} 默认 = 'r' 文件打开的行为(可写,可读等)
var fs = require('fs');//读取文件fs.readFile('../lianxi/child_process.js',{ encoding:'utf-8', flag:'r'}, function(err,data){ if(err) throw err; console.log(data);});
这里读取文件如果不设置编码方式,读取的文件就是以buffer的形式返回。
<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >
设置为utf-8后,返回的就是字符串的形式。如下:
var child_process = require('child_process');...
写文件(fs.writeFile)
定义:fs.writeFile(filename, data[, options], callback)
参数:
filename:{String}encoding:{String | Null} 默认 = 'utf8'
mode:{Number} 默认 = 438 (aka 0666 in Octal)
flag:{String} 默认 = 'w'
//写入文件fs.writeFile('../lianxi/child_process.js','[zqz]要写入的数据字符串或者buffer',{ encoding:'utf8', mode:438, flag:'w'},function(err){})
注意:异步写文件,如果文件已经存在则替换。
打开文件(fs.open)
定义:fs.open(path, flags[, mode], callback)
参数:
path:文件/文件路径 flags:文件打开的行为 mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。 callback:回调函数//打开文件fs.open('../lianxi/child_process.js','r+',0666,function(err,data){})
给文件添加数据(fs.appendFile)
定义:fs.appendFile(filename, data[, options], callback)
参数:
filename:{String}encoding {String | Null} 默认 = 'utf8'
mode {Number} 默认 = 438 (aka 0666 in Octal)
flag {String} 默认 = 'a'
新闻热点
疑难解答
图片精选