在 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
模块,我们可以方便地进行文件和目录的操作。在实际开发中,建议优先使用异步方法,以提高程序的性能和响应能力。同时,要注意错误处理,确保程序的健壮性。