0

问题陈述:

完成函数 readFile 以读取文件 sample.txt 的内容并将内容作为纯文本响应返回。

注意:确保在阅读文件时提及其完整路径。例如 - 假设你必须读取文件 xyz.txt 然后而不是写 './xyz.txt' 或 'xyz.txt' 写${__dirname}/xyz.txt

我的代码:

const fs = require('fs');
const path = require('path');

let readFile = () => {

let file = path.join(__dirname,'/xyz.txt') ;
let variableFile = fs.readFileSync(file);
return variableFile.toString();
};

module.exports = {

    readFile:readFile

};
4

1 回答 1

0

您必须将编码参数传递给 readFileSync 否则它将返回一个缓冲区:

const variableFile = fs.readFileSync(file,  "utf8");
return variableFile;

PS:你不应该在生产中使用同步调用,有一个非常简洁的 API 叫做“promisify”,它允许你使用 async/await 或带有 fs 的 Promise:

const {promisify} = require('util');
const fs = require('fs');
const readFile = promisify(fs.readFile);

const example = async () => {
    const file = await readFile(/*...*/);
}
于 2019-06-24T15:19:08.440 回答