文章目錄
Node.js作爲一個文件服務
fs 模塊允許在你的計算機上使用文件系統,也就是說js在服務器環境下也能讀取計算機的文件
var fs = require('fs');
常用的文件系統模塊:
- 讀取文件
- 創造文件
- 更新文件
- 刪除文件
- 重命名文件
讀取文件
fs.readFile()
fs.readFile() 方法被使用於在你的計算機上讀取文件
語法>fs.read(fd, buffer, offset, length, position, callback)
假設我們有下面這個HTML文件
index.html
<html>
<body>
<h1>File Module Display</h1>
<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);
啓動Node服務後的運行結果
創建文件
文件模塊中關於創建新文件的方法
- fs.appendFile()
- fs.open()
- fs.writeFile()
fs.appendFile()方法天機指定內容到文件中,如果文件不存在,文件將會被創造
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()
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('已經保存成功數據!');
})
fs.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()
添加指定內容到指定文件的尾部
var fs = require('fs');
fs.appendFile('ebook.txt', ' 這是一個被追加的內容.', function (err) {
if (err) throw err;
console.log('已追加!');
});
fs.writeFile()
語法>
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
史上最短最敷衍的Nodejs免費視頻教程
B站視頻講解演示地址 https://www.bilibili.com/video/BV1KT4y1g7FG/