Node.js 文件系统模块
Node.js 作为文件服务器
Node.js 文件系统模块允许您操作计算机上的文件系统。
要包含文件系统模块,请使用 require()
方法
var fs = require('fs');
文件系统模块的常用用途
- 读取文件
- 创建文件
- 更新文件
- 删除文件
- 重命名文件
读取文件
fs.readFile()
方法用于读取计算机上的文件。
假设我们有以下 HTML 文件(位于与 Node.js 相同的文件夹中)
demofile1.html
<html>
<body>
<h1>我的标题</h1>
<p>我的段落。</p>
</body>
</html>
创建一个 Node.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);
return res.end();
});
}).listen(8080);
运行示例 »
将上面的代码保存到名为 "demo_readfile.js" 的文件中,然后启动该文件
启动 demo_readfile.js
C:\Users\你的姓名>node demo_readfile.js
如果您在您的计算机上按照相同的步骤操作,您将看到与示例相同的结果:https://127.0.0.1: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('已保存!');
});
运行示例 »
fs.open()
方法接受 "flag" 作为第二个参数,如果 flag 为 "w"(表示 "写入"),则打开指定文件以进行写入。如果文件不存在,则创建一个空文件
示例
使用 open() 方法创建新的空文件
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err, file) {
if (err) throw err;
console.log('已保存!');
});
运行示例 »
fs.writeFile()
方法如果存在则替换指定文件和内容。如果文件不存在,则创建包含指定内容的新文件
示例
使用 writeFile() 方法创建新文件
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
if (err) throw err;
console.log('已保存!');
});
运行示例 »
更新文件
文件系统模块具有更新文件的方法
fs.appendFile()
fs.writeFile()
fs.appendFile()
方法将指定内容追加到指定文件的末尾
示例
将 "This is my text." 追加到文件 "mynewfile1.txt" 的末尾
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
if (err) throw err;
console.log('已更新!');
});
运行示例 »
fs.writeFile()
方法替换指定文件和内容
示例
替换文件 "mynewfile3.txt" 的内容
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('已替换!');
});
运行示例 »
删除文件
要使用文件系统模块删除文件,请使用 fs.unlink()
方法。
fs.unlink()
方法删除指定文件
示例
删除 "mynewfile2.txt"
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('文件已删除!');
});
运行示例 »
重命名文件
要使用文件系统模块重命名文件,请使用 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('文件已重命名!');
});
运行示例 »
上传文件
您还可以使用 Node.js 将文件上传到您的计算机。
在我们的 Node.js 上传文件 章节中了解如何操作。