Node.js 文件系统模块

章节


fs 模块

Node.js 文件系统(fs)模块让你可以访问文件系统。

使用require()方法,导入文件系统模块:

var fs = require('fs');

文件系统模块的常用功能:

  • 读文件
  • 创建文件
  • 更新文件
  • 删除文件
  • 重命名文件

读文件

fs.readFile() 方法用于读取文件。

假设当前目录下有以下HTML文件:

demofile1.html

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>

创建一个js文件,读取HTML文件,向客户端返回文件内容:

示例

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);

将上面的代码保存为“demo_readfile.js”文件,使用Node启动该文件:

启动demo_readfile.js:

C:\Users\Your Name>node demo_readfile.js

浏览器访问网址: http://localhost:8080

创建文件

创建新文件的方法,有以下几个:

  • fs.appendFile()
  • fs.open()
  • fs.writeFile()

fs.appendFile()方法将指定的内容附加到文件中。如果该文件不存在,将创建该文件:

示例

使用appendFile()方法创建一个新文件:

var fs = require('fs');

fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

fs.open() 方法以“flag”作为第二个参数,标志“w”表示“写入”,将打开指定的文件进行写入。如果文件不存在,则创建一个空文件:

示例

使用open()方法创建一个新的空文件:

var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});

fs.writeFile()方法写文件时,如果文件存在,将覆盖原有内容;如果该文件不存在,则会创建一个新文件,写入内容:

示例

使用writeFile()方法创建一个新文件:

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

更新文件

更新文件的方法,有以下几个:

  • fs.appendFile()
  • fs.writeFile()

fs.appendFile()方法在文件末尾追加内容:

示例

在“mynewfile1.txt”文件的末尾追加“This is my text.”

var fs = require('fs');

fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

fs.writeFile()方法替换原有文件内容:

示例

替换文件“mynewfile3.txt”的内容:

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

删除文件

要删除文件,使用fs.unlink()方法。

使用fs.unlink()方法删除文件:

示例

删除“mynewfile2.txt”:

var fs = require('fs');

fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

文件重命名

要重命名文件,使用fs.rename()方法。

fs.rename()方法重命名指定文件:

示例

重命名”mynewfile1.txt”文件的名称为“myrenamedfile.txt”:

var fs = require('fs');

fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});

上传文件

后续章节介绍。

猜你喜欢

转载自www.cnblogs.com/jinbuqi/p/11546923.html