在 Node.js 中,fs
模块提供了读取和写入文件的基本方法,但是它们都是异步操作。如果你需要同步读取或写入文件,就需要使用第三方模块 fs-sync
。
安装
使用 npm
进行安装:
npm install fs-sync
安装完成后,在代码中引入 fs-sync
模块:
const fs = require('fs-sync');
读取文件
使用 readFileSync()
方法可以同步读取文件内容。
const content = fs.readFileSync('file.txt', 'utf8'); console.log(content);
上面的代码会将 file.txt
文件的内容读取到 content
变量中,并打印出来。
readFileSync()
方法的第一个参数是要读取的文件名,第二个参数是文件的编码方式(可选,默认为 utf8
)。
写入文件
使用 writeFileSync()
方法可以同步写入文件内容。
fs.writeFileSync('file.txt', 'Hello, world!', 'utf8');
上面的代码会将字符串 'Hello, world!'
写入到 file.txt
文件中。
writeFileSync()
方法的第一个参数是要写入的文件名,第二个参数是要写入的内容,第三个参数是文件的编码方式(可选,默认为 utf8
)。
如果文件已经存在,则会覆盖原有内容;如果文件不存在,则会创建新文件并写入内容。
示例代码
以下是一个完整的示例,它会读取 input.txt
文件的内容,并将其中每一行的文本转换为大写字母后写入到 output.txt
文件中:
-- -------------------- ---- ------- ----- -- - ------------------- -- ------ ----- ----- - ---------------------------- -------- -- -------------- ----- ----- - ------------------ --- ---- - - -- - - ------------- ---- - -------- - ----------------------- - ----- ------ - ----------------- -- ------ ------------------------------ ------- -------- ---------------------
总结
fs-sync
模块提供了同步读取和写入文件的方法,可以方便地进行文件操作。但是要注意,同步操作会阻塞 Node.js 的事件循环,因此只有在必要时才应该使用。如果需要进行大量文件操作,建议使用异步方法或者使用流式处理方式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/44073