Node.js 异步读取文件
示例
使用文件系统模块执行所有文件操作:
const fs = require('fs');
带编码
在此示例中,hello.txt从目录中读取/tmp。此操作将在后台完成,并且在完成或失败时发生回调:
fs.readFile('/tmp/hello.txt', { encoding: 'utf8' }, (err, content) => { //如果发生错误,请输出并返回 if(err) return console.error(err); //没有发生错误,内容为字符串 console.log(content); });
没有编码
binary.txt从后台异步读取当前目录中的二进制文件。请注意,我们没有设置'encoding'选项-这样可以防止Node.js将内容解码为字符串:
fs.readFile('binary', (err, binaryContent) => { //如果发生错误,请输出并返回 if(err) return console.error(err); //没有错误发生,内容是一个缓冲区,将其输出到 //十六进制表示。 console.log(content.toString('hex')); });
相对路径
请记住,通常情况下,您的脚本可以在任意当前工作目录下运行。要寻址相对于当前脚本的文件,请使用__dirname或__filename:
fs.readFile(path.resolve(__dirname, 'someFile'), (err, binaryContent) => { //其余功能 }