gpt4 book ai didi

javascript - Node.js 同步读取文件作为字符串(不是缓冲区)

转载 作者:行者123 更新时间:2023-11-30 19:58:26 25 4
gpt4 key购买 nike

如何在 Node.js 中将文件作为字符串而不是缓冲区来读取?我正在用 Node.js 编写程序。在那里我需要同步读取一个文件,但如果我这样做,它会将它作为缓冲区而不是字符串返回。我的代码看起来像这样:

const fs = require('fs');

let content = fs.readFileSync('./foo.txt');
console.log(content) // actually logs it as a buffer

请帮忙。

最佳答案

fs.readFileSync 采用第二个参数,允许您指定带有选项的对象,包括返回数据的编码。如果你不指定一个,它默认返回一个 Buffer。因此,您可以将编码添加到此示例以将其作为字符串返回。

让我们在设置 content 变量的示例中添加编码选项。我们将编码设置为 UTF-8,这是一种标准。

let content = fs.readFileSync('./foo.txt', {encoding: 'utf8'});

如果您不需要指定任何其他选项,还有一个快捷方式:

let content = fs.readFileSync('./foo.txt', 'utf8');

现在当我们记录 content 时,我们应该有一个 String 作为我们使用的结果。

官方文档:https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options

关于javascript - Node.js 同步读取文件作为字符串(不是缓冲区),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com