前言
Node.js 提供一組類似 UNIX(POSIX)標準的文件操作API。 Node 導入文件系統模塊(fs)語法如下所示:
var fs = require("fs")fs模塊是文件操作的封裝,它提供了文件的讀取、寫入、更名、刪除、遍歷目錄、鏈接等POSIX文件系統操作。與其他模塊不同的是,fs模塊中所有的操作都提供了異步和同步的兩個版本,例如讀取文件內容的函數有異步的fs.readFile()和同步的fs.readFileSync() 。
一. 目錄操作
1. 創建目錄
創建目錄的語法如下:
fs.mkdir(path[, mode], callback) // 異步方法fs.mkdirSync(path[, mode]) // 同步方法
示例:
var fs = require("fs");// 在該文件的同一目錄下建立test目錄fs.mkdir('test',function(err){ if (err) { return console.error(err); } console.log("目錄創建成功。");});2. 讀取目錄
讀取目錄的語法如下:
fs.readdir(path, callback)fs.readdirSync(path)
1、path: 文件路徑;
2、callback: 回調函數,回調函數帶有兩個參數err, files。err為錯誤信息,files為目錄下的文件數組列表。
示例:
var fs = require("fs");fs.readdir("test/",function(err, files){ if (err) { return console.log(err); } files.forEach( function (file){ console.log( file ); });});3. 刪除目錄
刪除目錄的語法如下:
fs.rmdir(path, callback)fs.rmdirSync(path)
示例:
var fs = require("fs");fs.rmdir("test/ewe",function(err){ if (err) { return console.log(err); } fs.readdir("/test/",function(err, files){ if (err) { return console.error(err); } files.forEach( function (file){ console.log( file ); }); });});二. 文件操作
1. 打開文件
打開文件的語法如下:
fs.open(path, flags, [mode], [callback(err, fd)])
其中,path為文件的路徑,flags指文件的讀取方式,mode參數用于創建文件時給文件指定權限,默認是0666.回掉函數將會傳遞一個文件描述符fd。
flags的常用參數值如下:

mode參數表示的文件權限是POSIX操作系統中對文件讀取和訪問權限的規范,通常用一個八進制數來表示。例如0754表示文件所有者的權限是7(讀、寫、執行),同組的用戶權限是5(讀、執行),其他用戶的權限是4(讀)。
示例:
var fs = require('fs');fs.open("test.txt","w",0644,function(e,fd){ try{ fs.write(fd,"first fs!",0,'utf8',function(e){ fs.closeSync(fd); }) } catch(E) { throw e; }});2. 寫入文件
寫入文件的語法如下:
fs.writeFile(file, data[, options], callback)fs.writeFileSync(file, data[, options])
示例:
var fs = require("fs");fs.writeFile('test.txt', 'hello world!', function(err) { if (err) { return console.log(err); } fs.readFile('test.txt', function (err, data) { if (err) { return console.log(err); } console.log("異步讀取文件數據: " + data.toString()); });});3. 讀取文件
讀取文件的語法如下:
fs.read(fd, buffer, offset, length, position, callback)fs.readSync(fd, buffer, offset, length, position)fs.readFile(file[, options], callback)fs.readFileSync(file[, options])
其中,fs.read()和fs.readSync()的參數如下:
fd 主站蜘蛛池模板: 靖西县| 阿鲁科尔沁旗| 玉屏| 文昌市| 马山县| 潮安县| 龙陵县| 阳江市| 博湖县| 漠河县| 景德镇市| 思茅市| 云林县| 广西| 宜川县| 锦屏县| 南岸区| 广元市| 曲水县| 渑池县| 宁明县| 邵东县| 浮梁县| 公主岭市| 无锡市| 朝阳区| 平江县| 安龙县| 彭泽县| 辽宁省| 五原县| 莱西市| 女性| 抚顺县| 台江县| 双辽市| 余庆县| 广西| 天峻县| 泰来县| 五大连池市|