马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
fs模块的作用
在 Node.js 中,fs(文件体系)模块提供了与文件体系交互的功能,答应你读取、写入、更新和删除文件,以及利用文件和目次。这个模块是 Node.js 的焦点模块之一,紧张用于服务器端处理处罚文件体系相干的利用。
fs模块api
1、读取文件:
- fs.readFile(path, options, callback):异步读取文件内容。
- fs.readFileSync(path, options):同步读取文件内容。
- const fs = require('fs');
- // 异步读取文件
- fs.readFile('example.txt', 'utf8', (err, data) => {
- if (err) throw err;
- console.log(data);
- });
- // 同步读取文件
- const data = fs.readFileSync('example.txt', 'utf8');
- console.log(data);
复制代码 2、写入文件:
- fs.writeFile(path, data, options, callback):异步写入文件。假如文件不存在则创建文件,文件存在则覆盖。
- fs.writeFileSync(path, data, options):同步写入文件。
- // 异步写入文件
- fs.writeFile('output.txt', 'Hello, Node.js!', (err) => {
- if (err) throw err;
- console.log('File has been written!');
- });
- // 同步写入文件
- fs.writeFileSync('output.txt', 'Hello, Node.js!');
- console.log('File has been written!');
复制代码 3、追加文件内容:
- fs.appendFile(path, data, callback):异步追加内容到文件末端。
- fs.appendFileSync(path, data):同步追加内容到文件末端。
- // 异步追加文件内容
- fs.appendFile('output.txt', '\nThis is an appended text.', (err) => {
- if (err) throw err;
- console.log('Content appended!');
- });
- // 同步追加文件内容
- fs.appendFileSync('output.txt', '\nThis is an appended text.');
- console.log('Content appended!');
复制代码 4、删除文件:
- fs.unlink(path, callback):异步删除文件。
- fs.unlinkSync(path):同步删除文件。
- // 异步删除文件
- fs.unlink('output.txt', (err) => {
- if (err) throw err;
- console.log('File deleted!');
- });
- // 同步删除文件
- fs.unlinkSync('output.txt');
- console.log('File deleted!');
复制代码 5、创建目次:
- fs.mkdir(path, options, callback):异步创建目次。
- fs.mkdirSync(path, options):同步创建目次。
- // 异步创建目录
- fs.mkdir('newDir', { recursive: true }, (err) => {
- if (err) throw err;
- console.log('Directory created!');
- });
- // 同步创建目录
- fs.mkdirSync('newDir', { recursive: true });
- console.log('Directory created!');
复制代码 6、删除目次:
- fs.rmdir(path, callback):异步删除空目次。
- fs.rmdirSync(path):同步删除空目次。
- // 异步删除目录
- fs.rmdir('newDir', (err) => {
- if (err) throw err;
- console.log('Directory removed!');
- });
- // 同步删除目录
- fs.rmdirSync('newDir');
- console.log('Directory removed!');
复制代码 7、查抄文件或目次是否存在:
- fs.existsSync(path):同步查抄文件或目次是否存在。
- fs.exists(path, callback):异步查抄文件或目次是否存在(已废弃,发起利用 fs.access)。
- // 同步检查文件是否存在
- if (fs.existsSync('example.txt')) {
- console.log('File exists!');
- }
- // 异步检查文件是否存在
- fs.access('example.txt', fs.constants.F_OK, (err) => {
- if (err) {
- console.log('File does not exist');
- } else {
- console.log('File exists');
- }
- });
复制代码 8、获取文件信息:
- fs.stat(path, callback):异步获取文件或目次的信息。
- fs.statSync(path):同步获取文件或目次的信息。
- // 异步获取文件信息
- fs.stat('example.txt', (err, stats) => {
- if (err) throw err;
- console.log(stats);
- });
- // 同步获取文件信息
- const stats = fs.statSync('example.txt');
- console.log(stats);
复制代码 9、文件目次读取:
- fs.readdir(path, callback):异步读取目次内容。
- fs.readdirSync(path):同步读取目次内容。
- // 异步读取目录内容
- fs.readdir('./', (err, files) => {
- if (err) throw err;
- console.log(files);
- });
- // 同步读取目录内容
- const files = fs.readdirSync('./');
- console.log(files);
复制代码 紧张方法总结:
- 异步方法(带回调函数)用于非壅闭 I/O 利用,恰当大多数场景。
- 同步方法(不带回调函数)会壅闭步调实验,通常用于脚本或小型步调中。
注意事项:
- 利用 异步方法 可以进步应用的性能,尤其是在处理处罚大量文件或举行文件 I/O 时。
- 对于 同步方法,假如步调中的某个文件利用很慢,它会壅闭整个变乱循环,大概导致性能题目。
应用场景:
- 读取设置文件、日记文件。
- 存储用户上传的文件。
- 管理文件体系中的数据(如备份、删除、更新文件等)。
|