fs 模块允许在你的计算机上使用文件系统,也就是说js在服务器环境下也能读取计算机的文件
var fs = require('fs');
常用的文件系统模块:
- 读取文件
- 创造文件
- 更新文件
- 删除文件
- 重命名文件
fs.readFile() 方法被使用于在你的计算机上读取文件
语法>fs.read(fd, buffer, offset, length, position, callback)
假设我们有下面这个HTML文件
index.html
<html>
<body>
<h1>File Module Displayh1>
<p>文件读取的demo展示p>
<img src="./index.jpg" alt="">
body>
html>
index.js
var http = require('http');
var fs = require('fs');
http.createServer(function(req,res){
fs.readFile('index.html',function(err,data){
res.writeHead(200,{'Content-Type':'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
文件模块中关于创建新文件的方法
- fs.appendFile()
- fs.open()
- fs.writeFile()
fs.appendFile()方法天机指定内容到文件中,如果文件不存在,文件将会被创造
创造新的文件使用appendFile()方法
var fs = require('fs');
fs.appendFile('ebook.txt','this is new content',function (err){
if(err) throw err;
console.log('Saved!');
});
fs.open()方法的第二个参数需要传入读取文件的方式(flag),flag有如下参数可供选择
flag | 描述 |
---|---|
r | 以读取模式打开文件,如果文件不存在抛出异常。 |
r+ | 以读写模式打开文件,如果文件不存在抛出异常 |
rs | 以同步的方式读取文件 |
rs+ | 以同步的方式读取和写入文件 |
w | 以写入模式打开文件,如果文件不存在则创建 |
wx | 类似 ‘w’,但是如果文件路径存在,则文件写入失败 |
w+ | 以读写模式打开文件,如果文件不存在则创建 |
wx+ | 类似 ‘w+’, 但是如果文件路径存在,则文件读写失败。 |
a | 以追加模式打开文件,如果文件不存在则创建。 |
ax | 类似 ‘a’, 但是如果文件路径存在,则文件追加失败。 |
a+ | 以读取追加模式打开文件,如果文件不存在则创建。 |
ax+ | 类似 ‘a+’, 但是如果文件路径存在,则文件读取追加失败 |
var fs = require('fs');
fs.open('ebook.txt','w',function(err,file){
if(err) throw err;
console.log('已经保存成功数据!');
})
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
文件系统模块关于更新文件的方法:
- fs.appendFile()
- fs.writeFile()
添加指定内容到指定文件的尾部
var fs = require('fs');
fs.appendFile('ebook.txt', ' 这是一个被追加的内容.', function (err) {
if (err) throw err;
console.log('已追加!');
});
语法>
fs.writeFile(file, data[, options], callback)
var fs = require('fs');
fs.writeFile('ebook.txt', '如果你看见了我,这说明我已经成功被作为文本内容成功写入', function (err) {
if (err) throw err;
console.log('写入内容成功!');
});
使用fs.unlink() 方法可以删除指定文件
var fs = require('fs');
fs.unlink('ebook.txt',function(err){
if(err) throw err;
console.log("文件已删除!");
})
注意看左侧的文件目录中,ebook.txt文件在执行命令后被删除
使用fs.rename() 方法可以重命名指定文件
var fs = require('fs');
fs.rename('ebook.txt','new-ebook.txt',function(err){
if(err) throw err;
console.log("文件已经被重命名");
})
注意看左侧的文件目录中,ebook.txt文件在执行命令后被重命名为new-ebook.txt
B站视频讲解演示地址 https://www.bilibili.com/video/BV1KT4y1g7FG/