Node文件系统:fs异步与同步「文件读写」

1. Node.js的文件系统(fs)模块

Node.js是一款运行在服务器端的JavaScript语言,可以通过Node提供的fs模块读取和写入文件,其中包含了同步和异步的API。

2. 文件读操作

2.1 同步读取文件

使用fs模块的同步API进行读取操作

const fs = require('fs');

const data = fs.readFileSync('/path/to/file', 'utf8');

console.log(data);

以上代码演示了如何使用readFileSync同步读取文件内容,第一个参数传入文件路径,第二个参数传入文件编码格式。

同步读取文件会阻塞代码的执行,直到读取完成,所以在需要同时读取多个文件或文件较大时,应该使用异步API。

2.2 异步读取文件

使用fs模块的异步API进行读取操作。

const fs = require('fs');

fs.readFile('/path/to/file', 'utf8', (err, data) => {

if (err) throw err;

console.log(data);

});

以上代码演示了如何使用readFile异步读取文件内容,第一个参数传入文件路径,第二个参数传入文件编码格式,第三个参数是回调函数,当读取完成后会自动调用回调函数。回调函数中第一个参数是错误信息,第二个参数是读取到的文件内容。

3. 文件写操作

3.1 同步写入文件

使用fs模块的同步API进行写入操作。

const fs = require('fs');

const data = 'Hello, world!';

fs.writeFileSync('/path/to/file', data);

以上代码演示了如何使用writeFileSync同步将数据写入文件,第一个参数传入文件路径,第二个参数传入要写入的数据。

3.2 异步写入文件

使用fs模块的异步API进行写入操作。

const fs = require('fs');

const data = 'Hello, world!';

fs.writeFile('/path/to/file', data, (err) => {

if (err) throw err;

console.log('complete');

});

以上代码演示了如何使用writeFile异步将数据写入文件,第一个参数传入文件路径,第二个参数传入要写入的数据,第三个参数是回调函数,当写入完成后会自动调用回调函数。回调函数中第一个参数是错误信息。

4. 总结

以上介绍了Node.js fs模块进行文件读写的异步和同步API,需要根据具体情况选择适当的API。同时进行文件操作时,务必要注意不要阻塞其他重要的代码执行。