在 Node.js 中,文件系统(File System)模块提供了对文件和目录进行读写和操作的功能。这个模块主要包含了异步和同步两种操作方式,常用的方法有 fs.readFile、fs.writeFile、fs.readdir 等。以下是一些常见的文件系统操作:

1. 读取文件内容:
   使用 fs.readFile 方法异步读取文件内容。
   const fs = require('fs');

   fs.readFile('example.txt', 'utf-8', (err, data) => {
     if (err) {
       console.error('Error reading file:', err);
       return;
     }
     console.log('File content:', data);
   });

   使用 fs.readFileSync 方法同步读取文件内容。
   const fs = require('fs');

   try {
     const data = fs.readFileSync('example.txt', 'utf-8');
     console.log('File content:', data);
   } catch (err) {
     console.error('Error reading file:', err);
   }

2. 写入文件内容:
   使用 fs.writeFile 方法异步写入文件内容。
   const fs = require('fs');

   const contentToWrite = 'Hello, Node.js!';

   fs.writeFile('output.txt', contentToWrite, 'utf-8', (err) => {
     if (err) {
       console.error('Error writing file:', err);
       return;
     }
     console.log('File has been written successfully.');
   });

   使用 fs.writeFileSync 方法同步写入文件内容。
   const fs = require('fs');

   const contentToWrite = 'Hello, Node.js!';

   try {
     fs.writeFileSync('output.txt', contentToWrite, 'utf-8');
     console.log('File has been written successfully.');
   } catch (err) {
     console.error('Error writing file:', err);
   }

3. 读取目录内容:
   使用 fs.readdir 方法异步读取目录内容。
   const fs = require('fs');

   const directoryPath = './';

   fs.readdir(directoryPath, (err, files) => {
     if (err) {
       console.error('Error reading directory:', err);
       return;
     }
     console.log('Files in the directory:', files);
   });

   使用 fs.readdirSync 方法同步读取目录内容。
   const fs = require('fs');

   const directoryPath = './';

   try {
     const files = fs.readdirSync(directoryPath);
     console.log('Files in the directory:', files);
   } catch (err) {
     console.error('Error reading directory:', err);
   }

4. 其他文件系统操作:
   - fs.rename: 重命名文件或目录。
   - fs.unlink: 删除文件。
   - fs.rmdir: 删除目录。
   - fs.mkdir: 创建目录。

以上仅是文件系统模块中一些常见的操作,该模块提供了更多的方法和选项,以支持文件和目录的复制、移动、权限设置等更复杂的操作。详细的信息可以参考 Node.js 官方文档。


转载请注明出处:http://www.zyzy.cn/article/detail/4744/Node.js