成都創(chuàng)新互聯(lián)公司公司2013年成立,先為米東等服務(wù)建站,米東等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為米東企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
NodeJs版本:4.4.4
文件系統(tǒng)模塊是一個(gè)封裝了標(biāo)準(zhǔn)的 POSIX 文件 I/O 操作的集合。Node.js 文件系統(tǒng)(fs 模塊)模塊中的方法均有異步和同步版本。
創(chuàng)建一個(gè)可讀流與一個(gè)寫(xiě)入流。通過(guò)管道pipe
。
var fileReadStream = fs.createReadStream(sourcePath);var fileWriteStream = fs.createWriteStream(targetPath);fileReadStream.pipe(fileWriteStream);//監(jiān)聽(tīng)關(guān)閉事件得知執(zhí)行完成fileWriteStream.on('close', function() { console.log('移動(dòng)成功!'); })
定義:fs.readFile(filename[, options], callback)
參數(shù):
filename:{String} 文件名/文件路徑
options:{Object} 可選參數(shù)
encoding:{String | Null} 默認(rèn) = null 編碼方式
flag:{String} 默認(rèn) = 'r' 文件打開(kāi)的行為(可寫(xiě),可讀等)
callback:{Function}
var fs = require('fs');//讀取文件fs.readFile('../lianxi/child_process.js',{ encoding:'utf-8', flag:'r'}, function(err,data){ if(err) throw err; console.log(data);});
這里讀取文件如果不設(shè)置編碼方式,讀取的文件就是以buffer
的形式返回。
設(shè)置為utf-8
后,返回的就是字符串的形式。如下:var child_process = require('child_process');...
定義:fs.writeFile(filename, data[, options], callback)
參數(shù):
filename:{String}
data:{String | Buffer}
options:{Object}
encoding:{String | Null} 默認(rèn) = 'utf8'
mode:{Number} 默認(rèn) = 438 (aka 0666 in Octal)
flag:{String} 默認(rèn) = 'w'
callback {Function}
//寫(xiě)入文件fs.writeFile('../lianxi/child_process.js','[zqz]要寫(xiě)入的數(shù)據(jù)字符串或者buffer',{ encoding:'utf8', mode:438, flag:'w'},function(err){})
注意:異步寫(xiě)文件,如果文件已經(jīng)存在則替換。
定義:fs.open(path, flags[, mode], callback)
參數(shù):
path:文件/文件路徑
flags:文件打開(kāi)的行為
mode:設(shè)置文件模式(權(quán)限),文件創(chuàng)建默認(rèn)權(quán)限為 0666(可讀,可寫(xiě))。
callback:回調(diào)函數(shù)
//打開(kāi)文件fs.open('../lianxi/child_process.js','r+',0666,function(err,data){ })
定義:fs.appendFile(filename, data[, options], callback)
參數(shù):
filename:{String}
data:{String | Buffer}
options:{Object}
encoding {String | Null} 默認(rèn) = 'utf8'
mode {Number} 默認(rèn) = 438 (aka 0666 in Octal)
flag {String} 默認(rèn) = 'a'
callback {Function}
//給文件添加數(shù)據(jù)fs.appendFile('../lianxi/child_process.js', '異步添加的字符串或buffer', { encoding:'utf8', mode:438, flag:'a'}, function(err){});
注意:異步的給文件添加數(shù)據(jù),如果文件不存在,就會(huì)創(chuàng)建一個(gè)文件。
定義:fs.unlink(path, callback)
var fs = require('fs');fs.unlink('./t/index.html',function (err) { if(err) throw err; console.log('成功')})
定義:fs.open(path, flags[, mode], callback)
也可以使用fs.open
創(chuàng)建文件。
fs.open("test.txt", "w",function (err) {});
定義:fs.rmdir(path, callback)
fs.rmdir('./t/a',function (err) { if(err) throw err; console.log('成功')})
定義:fs.mkdir(path[, mode], callback)
參數(shù):mode 默認(rèn)是 to 0777.
fs.mkdir('./t/a',0777,function (err) { if(err) throw err; console.log('成功')})
定義:fs.watch(filename[, options][, listener])
定義:fs.watchFile(filename[, options], listener)
fs.watch('test.js', function (event, filename) { });fs.watchFile('test.js', function(curr, prev){ });
Flag | 描述 |
---|---|
r | 以讀取模式打開(kāi)文件。如果文件不存在拋出異常。 |
r+ | 以讀寫(xiě)模式打開(kāi)文件。如果文件不存在拋出異常。 |
rs | 以同步的方式讀取文件。 |
rs+ | 以同步的方式讀取和寫(xiě)入文件。 |
w | 以寫(xiě)入模式打開(kāi)文件,如果文件不存在則創(chuàng)建。 |
wx | 類似 'w',但是如果文件路徑存在,則文件寫(xiě)入失敗。 |
w+ | 以讀寫(xiě)模式打開(kāi)文件,如果文件不存在則創(chuàng)建。 |
wx+ | 類似 'w+', 但是如果文件路徑存在,則文件讀寫(xiě)失敗。 |
a | 以追加模式打開(kāi)文件,如果文件不存在則創(chuàng)建。 |
ax | 類似 'a', 但是如果文件路徑存在,則文件追加失敗。 |
a+ | 以讀取追加模式打開(kāi)文件,如果文件不存在則創(chuàng)建。 |
ax+ | 類似 'a+', 但是如果文件路徑存在,則文件讀取追加失敗。 |