📅  最后修改于: 2023-12-03 15:33:10.772000             🧑  作者: Mango
Node.js 中的文件系统模块提供了一组 API 来与文件系统进行交互。它包括读取文件、写入文件、重命名文件、删除文件等,你可以对这些操作进行增、删、改、查操作,使你能够操作文件系统。
在 Node.js 文件系统模块中使用 fs.readFileSync()
方法可以同步地从文件中读取数据,并作为字符串或缓冲区对象返回。
const fs = require('fs');
const data = fs.readFileSync('file.txt', 'utf8');
console.log(data);
在上述代码中,我们通过 fs.readFileSync()
方法读取了 file.txt
文件,并将其中的内容作为字符串返回,并打印输出。
同样,你也可以使用 fs.readFile()
方法以异步方式从文件中读取数据,并在读取完成后作为字符串或缓冲区对象返回。
const fs = require('fs');
fs.readFile('file.txt', 'utf8', function(err, data) {
if (err) throw err;
console.log(data);
});
在上述代码中,我们使用 fs.readFile()
方法以异步方式读取了 file.txt
文件,并在读取完成后将其中的内容作为字符串返回,并打印输出。
在 Node.js 文件系统模块中使用 fs.readFileSync()
方法可以同步地从文件中读取数据,并作为缓冲区对象返回。
const fs = require('fs');
const data = fs.readFileSync('file.jpg');
console.log(data);
在上述代码中,我们通过 fs.readFileSync()
方法读取了 file.jpg
文件,并将其中的内容作为缓冲区对象返回,并打印输出。
同样,你也可以使用 fs.readFile()
方法以异步方式从文件中读取数据,并在读取完成后作为缓冲区对象返回。
const fs = require('fs');
fs.readFile('file.jpg', function(err, data) {
if (err) throw err;
console.log(data);
});
在上述代码中,我们使用 fs.readFile()
方法以异步方式读取了 file.jpg
文件,并在读取完成后将其中的内容作为缓冲区对象返回,并打印输出。
在 Node.js 文件系统模块中使用 fs.writeFileSync()
方法可以同步地向文件中写入数据。
const fs = require('fs');
fs.writeFileSync('file.txt', 'Hello, World!', 'utf8');
在上述代码中,我们通过 fs.writeFileSync()
方法向 file.txt
文件中写入了字符串 Hello, World!
。
同样,你也可以使用 fs.writeFile()
方法以异步方式向文件中写入数据。
const fs = require('fs');
fs.writeFile('file.txt', 'Hello, World!', 'utf8', function(err) {
if (err) throw err;
console.log('Data written to file');
});
在上述代码中,我们使用 fs.writeFile()
方法以异步方式向 file.txt
文件中写入了字符串 Hello, World!
。在写入完成后打印输出 Data written to file
。
在 Node.js 文件系统模块中使用 fs.writeFileSync()
方法可以同步地向文件中写入数据。
const fs = require('fs');
const buffer = Buffer.from([0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21]);
fs.writeFileSync('file.bin', buffer);
在上述代码中,我们通过 fs.writeFileSync()
方法向 file.bin
文件中写入了一个 13 字节的 Buffer 对象。
同样,你也可以使用 fs.writeFile()
方法以异步方式向文件中写入数据。
const fs = require('fs');
const buffer = Buffer.from([0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21]);
fs.writeFile('file.bin', buffer, function(err) {
if (err) throw err;
console.log('Data written to file');
});
在上述代码中,我们使用 fs.writeFile()
方法以异步方式向 file.bin
文件中写入了一个 13 字节的 Buffer 对象。在写入完成后打印输出 Data written to file
。
在 Node.js 文件系统模块中使用 fs.renameSync()
方法可以同步地重命名文件。
const fs = require('fs');
fs.renameSync('oldfile.txt', 'newfile.txt');
在上述代码中,我们通过 fs.renameSync()
方法将 oldfile.txt
文件重命名为 newfile.txt
。
同样,你也可以使用 fs.rename()
方法以异步方式重命名文件。
const fs = require('fs');
fs.rename('oldfile.txt', 'newfile.txt', function(err) {
if (err) throw err;
console.log('File renamed');
});
在上述代码中,我们使用 fs.rename()
方法以异步方式将 oldfile.txt
文件重命名为 newfile.txt
。在重命名完成后打印输出 File renamed
。
在 Node.js 文件系统模块中使用 fs.unlinkSync()
方法可以同步地删除文件。
const fs = require('fs');
fs.unlinkSync('file.txt');
在上述代码中,我们通过 fs.unlinkSync()
方法删除了 file.txt
文件。
同样,你也可以使用 fs.unlink()
方法以异步方式删除文件。
const fs = require('fs');
fs.unlink('file.txt', function(err) {
if (err) throw err;
console.log('File deleted');
});
在上述代码中,我们使用 fs.unlink()
方法以异步方式删除了 file.txt
文件。在删除成功后打印输出 File deleted
。
在 Node.js 文件系统模块中使用 fs.existsSync()
方法可以同步地判断文件是否存在。
const fs = require('fs');
const exists = fs.existsSync('file.txt');
console.log(`File exists: ${exists}`);
在上述代码中,我们通过 fs.existsSync()
方法判断了 file.txt
文件是否存在,并打印输出该文件是否存在的信息。
同样,你也可以使用 fs.exists()
方法以异步方式判断文件是否存在。
const fs = require('fs');
fs.exists('file.txt', function(exists) {
console.log(`File exists: ${exists}`);
});
在上述代码中,我们使用 fs.exists()
方法以异步方式判断了 file.txt
文件是否存在,并打印输出该文件是否存在的信息。
在 Node.js 文件系统模块中使用 fs.readdirSync()
方法可以同步地读取文件夹中的文件列表。
const fs = require('fs');
const files = fs.readdirSync('.');
console.log(files);
在上述代码中,我们通过 fs.readdirSync()
方法读取了当前文件夹中的文件列表,并打印输出这些文件的名称。
同样,你也可以使用 fs.readdir()
方法以异步方式读取文件夹中的文件列表。
const fs = require('fs');
fs.readdir('.', function(err, files) {
if (err) throw err;
console.log(files);
});
在上述代码中,我们使用 fs.readdir()
方法以异步方式读取当前文件夹中的文件列表,并打印输出这些文件的名称。
在 Node.js 文件系统模块中使用 fs.mkdirSync()
方法可以同步地创建文件夹。
const fs = require('fs');
fs.mkdirSync('folder');
在上述代码中,我们通过 fs.mkdirSync()
方法创建了一个名为 folder
的文件夹。
同样,你也可以使用 fs.mkdir()
方法以异步方式创建文件夹。
const fs = require('fs');
fs.mkdir('folder', function(err) {
if (err) throw err;
console.log('Folder created');
});
在上述代码中,我们使用 fs.mkdir()
方法以异步方式创建了一个名为 folder
的文件夹。在创建完成后打印输出 Folder created
。
在 Node.js 文件系统模块中使用 fs.rmdirSync()
方法可以同步地删除文件夹。
const fs = require('fs');
fs.rmdirSync('folder');
在上述代码中,我们通过 fs.rmdirSync()
方法删除了名为 folder
的文件夹。
同样,你也可以使用 fs.rmdir()
方法以异步方式删除文件夹。
const fs = require('fs');
fs.rmdir('folder', function(err) {
if (err) throw err;
console.log('Folder deleted');
});
在上述代码中,我们使用 fs.rmdir()
方法以异步方式删除了名为 folder
的文件夹。在删除成功后打印输出 Folder deleted
。
以上就是 Node.js 文件系统模块的完整参考,你可以使用其中的方法来对文件系统进行增、删、改、查操作,从而实现对文件系统的控制。记住,在使用文件系统模块时,要注意异步和同步方法的区别,并注意正确使用异常处理和回调函数,以保证程序运行的正确性。