這篇文章主要介紹“Node.js中fs模塊如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Node.js中fs模塊如何使用”文章能幫助大家解決問題。
var fs=require('fs');fs.stat('html/style.css', function (err, stats) {
if (err) {
console.log(err);
return false;
}
console.log('文件:' + stats.isFile()); // true
console.log('目錄:' + stats.isDirectory()); // false
})//接收參數:
//path 將創建的目錄路徑
//mode 目錄權限(讀寫權限),默認0777
//callback 回調,傳遞異常參數err
fs.mkdir('css', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('創建目錄成功');
})//filename (String) 文件名稱
//data (String | Buffer) 將要寫入的內容,可以使字符串 或 buffer數據。
//options (Object) option數組對象,包含:
//· encoding (string) 可選值,默認 ‘utf8′,當data使buffer時,該值應該為 ignored。
//· mode (Number) 文件讀寫權限,默認值 438
//· flag (String) 默認值 ‘w'
//callback {Function} 回調,傳遞一個異常參數err。
fs.writeFile('t.txt', '你好nodejs', 'utf8', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('寫入成功');
})fs.appendFile('t.txt', '這是追加的內容', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('寫入成功');
})fs.readFile('t.txt', function (err, data) {
if (err) {
console.log(err);
return false;
}
console.log(data);
console.log(data.toString());
})把目錄下面的文件和文件夾都獲取到
fs.readdir('html', function (err, data) {
if (err) {
console.log(err);
return false;
}
console.log(data);
})fs.rename('html/index.html', 'html/news.html', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('修改名字成功');
})fs.rename('html/style.css', 'html/test/basic.css', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('剪切成功');
})這個方法只能刪除目錄,不可以刪除文件
fs.rmdir('css', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('刪除目錄成功');
})fs.unlink('css/1.js', function (err) {
if (err) {
console.log(err);
return false;
}
console.log('刪除文件成功');
})//流的方式讀取文件
var readStream = fs.createReadStream('input.txt');
var str = '';
//保存數據
var count = 0;
//次數
readStream.on('data', function (chunk) {
str += chunk;
count++;
})
//讀取完成
readStream.on('end', function (chunk) {
console.log(count);
console.log(str);
})
//讀取失敗
readStream.on('error', function (err) {
console.log(err);
})var data = '我是從數據庫獲取的數據,我要保存起來\n';
// 創建一個可以寫入的流,寫入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt');
for (var i = 0; i < 100; i++) {
writerStream.write(data, 'utf8');
}
//標記寫入完成
writerStream.end();
writerStream.on('finish', function () {
console.log('寫入完成');
})
//失敗
writerStream.on('error', function () {
console.log('寫入失敗');
})管道提供了一個輸出流到輸入流的機制。通常我們用于從一個流中獲取數據并將數據傳遞到另外一個流中。

如上面的圖片所示,我們把文件比作裝水的桶,而水就是文件里的內容,我們用一根管子(pipe)連接兩個桶使得水從一個桶流入另一個桶,這樣就慢慢的實現了大文件的復制過程。
以下實例我們通過讀取一個文件內容并將內容寫入到另外一個文件中。
// 創建一個可讀流
var readerStream = fs.createReadStream('input.txt');
// 創建一個可寫流
var writerStream = fs.createWriteStream('output.txt');
// 管道讀寫操作
// 讀取 input.txt 文件內容,并將內容寫入到 output.txt 文件中
readerStream.pipe(writerStream);
console.log("程序執行完畢");判斷服務器上面有沒有upload目錄。沒有創建這個目錄
var fs = require('fs');
fs.stat('upload', function (err, stats) {
if (err) { // 沒有這個目錄
fs.mkdir('upload', function (error) {
if (error) {
console.log(error);
return false;
}
console.log('創建成功');
})
} else {
console.log('目錄已經存在');
console.log(stats.isDirectory());
}
})關于“Node.js中fs模塊如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。