试用了三种相关方法
读取文件方法,打开文件方法,写数据方法
fs.readFile
fs.open
fs.write
Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX 文件系统操作。
与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个版本,例如读取文件内容的函数有异步的 fs.readFile()
和同步的 fs.readFileSync()。
fs.readFile(filename,[encoding],[callback(err,data)])
varfs = require('fs'); fs.readFile('content.txt', function(err, data) { if(err) { console.error(err); } else{ console.log(data); } });
<Buffer 54 65 78 74 20 e6 96 87 e6 9c ac e6 96 87 e4 bb b6 e7 a4 ba e4 be 8b>
这个程序以二进制的模式读取了文件的内容,data 的值是 Buffer 对象。
如果我们给fs.readFile 的 encoding 指定编码:
var fs = require('fs'); fs.readFile('content.txt', 'utf-8', function(err, data) { if (err) { console.error(err); } else { console.log(data); } });那么运行结果则是:
Text 文本文件示例
fs.open(path, [mode], [callback(err, fd)]
fs.write(fd, buffer, offset, length, position, [callback(err, bytesWrite)])
fs.open('writefile.txt', 'a', function opend(err, fd) { if(err) { console.error(err); return; } var writeBuffer = new Buffer('write file 123 写文件 //>>>>') , bufferPosition = 0, bufferLength = writeBuffer.length, filePosition = null; fs.write(fd, writeBuffer, bufferPosition, bufferLength, filePosition, function wrote(err,written){ if(err){throw err;} console.log(err); }); });