Node.js 文件系统


Node.js是一个开源的、基于JavaScript运行的平台,其最大的特点是可以使用JavaScript来编写服务器端应用。在Node.js中,使用文件系统(File System)模块可以对文件系统进行操作,包括读取、写入、修改、删除文件等操作。Node.js 文件系统模块提供了一系列API,可以对文件系统进行各种操作。

1.读取文件

读取文件的方法有两种,分别为异步和同步读取。异步读取通过回调函数来处理读取结果,而同步读取则会直接返回读取结果。

异步读取文件格式:

var fs = require("fs");

fs.readFile('file.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("数据读取成功:" + data.toString());
});

同步读取文件格式:

var fs = require("fs");

var data = fs.readFileSync('file.txt');
console.log("同步读取文件数据:" + data.toString());

2.写入文件

写入文件的方法也有异步和同步之分。异步写入需要提供要写入的文件名和写入的数据,同步写入则直接返回写入结果。

异步写入文件格式:

var fs = require("fs");

fs.writeFile('file.txt', '这是要写入的数据',  function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("数据写入成功!");
});

同步写入文件格式:

var fs = require("fs");

fs.writeFileSync('file.txt', '这是要写入的数据');
console.log("数据写入成功!");

3.打开文件

打开文件方法可以使用异步和同步方式打开文件。在异步模式下,打开文件后需要做一些处理,例如读取文件。同步模式下则可以直接操作已经打开的文件。

异步打开文件格式:

var fs = require("fs");

console.log("准备打开文件!");
fs.open('file.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
  console.log("文件打开成功!");
});

同步打开文件格式:

var fs = require("fs");
var fd = fs.openSync('file.txt', 'r+');
console.log("文件打开成功!");

4.截取文件

截取文件可以通过异步和同步模式来实现。截取后,文件将变为指定长度,原来超过指定长度的部分将被删除。截取文件需要使用文件的文件描述符或句柄,可以使用fs.ftruncate()方法来实现。

异步截取文件格式:

fs.ftruncate(fd, 10, function(err){
   if (err){
      console.log(err);
   } 
   console.log("文件截取成功!");
});

同步截取文件格式:

fs.ftruncateSync(fd, 10);
console.log("文件截取成功!");

5.删除文件

删除文件需要通过fs.unlink()方法来实现。删除文件的操作可以使用异步和同步方式实现。

异步删除文件格式:

var fs = require("fs");
console.log("准备删除文件!");

fs.unlink('file.txt', function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("文件删除成功!");
});

同步删除文件格式:

var fs = require("fs");

fs.unlinkSync('file.txt');
console.log("文件删除成功!");

总结

以上就是Node.js文件系统模块的主要操作API,Node.js通过提供多种文件系统模块的操作API,实现了对文件系统的各种基本操作,大大方便了使用者的文件操作处理需求。要学好Node.js文件系统模块,需要多写实际代码,不断实践和体感。