node 檔案、資料夾 增刪改查
阿新 • • 發佈:2018-11-29
1. 資料夾
增加資料夾
var fs = require("fs"); console.log("建立目錄 tmp"); fs.mkdir("tmp",function(err){ if (err) { return console.error(err); } console.log("目錄建立成功。"); });View Code
刪除資料夾
var fs = require("fs"); console.log("準備刪除目錄 tmp"); fs.rmdir(View Code"tmp",function(err){ if (err) { return console.error(err); } console.log('clear'); fs.readdir("tmp",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); }); });
檢視資料夾
var fs = require("fs"); console.log("檢視 /tmp 目錄"); fs.readdir("a",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); });View Code
2.檔案
增加檔案
var fs = require("fs"); console.log("準備寫入檔案"); fs.writeFile('bb.js', '我是通 過fs.writeFile 寫入檔案的內容', function(err) { if (err) { return console.error(err); } console.log("資料寫入成功!"); console.log("--------我是分割線-------------") console.log("讀取寫入的資料!"); fs.readFile('b.js', function (err, data) { if (err) { return console.error(err); } console.log("非同步讀取檔案資料: " + data.toString()); }); });View Code
刪除檔案
var fs = require("fs"); console.log("準備刪除檔案!"); fs.unlink('b.js', function(err) { if (err) { return console.error(err); } console.log("檔案刪除成功!"); });View Code
修改檔案
// 擷取檔案 var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("準備開啟檔案!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("檔案開啟成功!"); console.log("擷取10位元組內的檔案內容,超出部分將被去除。"); // 擷取檔案 fs.ftruncate(fd, 10, function(err){ if (err){ console.log(err); } console.log("檔案擷取成功。"); console.log("讀取相同的檔案"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 僅輸出讀取的位元組 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 關閉檔案 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("檔案關閉成功!"); }); }); }); });View Code
檢視檔案
var fs = require("fs"); fs.readFile('b.js', function (err, data) { if (err) { return console.error(err); } console.log("非同步讀取: " + data.toString()); });View Code
檔案其他操作
開啟檔案
var fs = require("fs"); console.log("準備開啟檔案!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("檔案開啟成功!"); });View Code
關閉檔案
var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("準備開啟檔案!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("檔案開啟成功!"); console.log("準備讀取檔案!"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } // 僅輸出讀取的位元組 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } // 關閉檔案 fs.close(fd, function(err){ if (err){ console.log(err); } console.log("檔案關閉成功"); }); }); });View Code
讀取位元組流
var fs = require("fs"); var buf = new Buffer.alloc(1024); console.log("準備開啟已存在的檔案!"); fs.open('b.js', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("檔案開啟成功!"); console.log("準備讀取檔案:"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } console.log(bytes + " 位元組被讀取"); // 僅輸出讀取的位元組 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } }); });View Code
3.其他
檔案、資料夾之間區分
var fs = require('fs'); fs.stat('a', function (err, stats) { console.log(stats.isFile()); //true stats.isDirectory() })View Code