
在 Node.js 中,fs(File System)模块是一个非常重要的核心模块,它提供了与文件系统进行交互的能力,包括文件的读写、目录的创建与删除等操作。fs 模块有同步和异步两种操作方式,异步操作可以避免阻塞事件循环,提高程序的性能,而同步操作则更适合在初始化阶段或者脚本执行期间使用。
fs 模块在使用 fs 模块之前,需要先引入它:
const fs = require('fs');
const fs = require('fs');fs.readFile('example.txt', 'utf8', (err, data) => {if (err) {console.error('读取文件时出错:', err);return;}console.log('文件内容:', data);});
const fs = require('fs');try {const data = fs.readFileSync('example.txt', 'utf8');console.log('文件内容:', data);} catch (err) {console.error('读取文件时出错:', err);}
const fs = require('fs');const content = '这是要写入的内容。';fs.writeFile('example.txt', content, 'utf8', (err) => {if (err) {console.error('写入文件时出错:', err);return;}console.log('文件写入成功!');});
const fs = require('fs');const content = '这是要写入的内容。';try {fs.writeFileSync('example.txt', content, 'utf8');console.log('文件写入成功!');} catch (err) {console.error('写入文件时出错:', err);}
const fs = require('fs');const appendContent = '这是追加的内容。';fs.appendFile('example.txt', appendContent, 'utf8', (err) => {if (err) {console.error('追加文件时出错:', err);return;}console.log('文件追加成功!');});
const fs = require('fs');const appendContent = '这是追加的内容。';try {fs.appendFileSync('example.txt', appendContent, 'utf8');console.log('文件追加成功!');} catch (err) {console.error('追加文件时出错:', err);}
const fs = require('fs');fs.unlink('example.txt', (err) => {if (err) {console.error('删除文件时出错:', err);return;}console.log('文件删除成功!');});
const fs = require('fs');try {fs.unlinkSync('example.txt');console.log('文件删除成功!');} catch (err) {console.error('删除文件时出错:', err);}
const fs = require('fs');fs.mkdir('newDirectory', (err) => {if (err) {console.error('创建目录时出错:', err);return;}console.log('目录创建成功!');});
const fs = require('fs');try {fs.mkdirSync('newDirectory');console.log('目录创建成功!');} catch (err) {console.error('创建目录时出错:', err);}
const fs = require('fs');fs.readdir('newDirectory', (err, files) => {if (err) {console.error('读取目录时出错:', err);return;}console.log('目录中的文件和文件夹:', files);});
const fs = require('fs');try {const files = fs.readdirSync('newDirectory');console.log('目录中的文件和文件夹:', files);} catch (err) {console.error('读取目录时出错:', err);}
const fs = require('fs');fs.rmdir('newDirectory', (err) => {if (err) {console.error('删除目录时出错:', err);return;}console.log('目录删除成功!');});
const fs = require('fs');try {fs.rmdirSync('newDirectory');console.log('目录删除成功!');} catch (err) {console.error('删除目录时出错:', err);}
| 操作类型 | 异步方法 | 同步方法 |
|---|---|---|
| 文件读取 | fs.readFile |
fs.readFileSync |
| 文件写入 | fs.writeFile |
fs.writeFileSync |
| 文件追加 | fs.appendFile |
fs.appendFileSync |
| 文件删除 | fs.unlink |
fs.unlinkSync |
| 目录创建 | fs.mkdir |
fs.mkdirSync |
| 目录读取 | fs.readdir |
fs.readdirSync |
| 目录删除 | fs.rmdir |
fs.rmdirSync |
通过 fs 模块,我们可以方便地进行文件和目录的操作。在实际开发中,建议优先使用异步方法,以提高程序的性能和响应能力。同时,要注意错误处理,确保程序的健壮性。