首頁 > web前端 > js教程 > 解析NodeJs的fs讀寫刪除移動監聽

解析NodeJs的fs讀寫刪除移動監聽

怪我咯
發布: 2017-04-30 11:08:25
原創
1456 人瀏覽過

這篇文章主要介紹了NodeJs的fs讀寫刪除移動監聽,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

NodeJs版本:4.4.4

#fs

檔案系統模組是一個封裝了標準的POSIX 檔案I/O 運算的集合。 Node.js 檔案系統(fs 模組)模組中的方法都有非同步和同步版本。

圖片的複製與貼上

建立一個可讀流與一個寫入流。通過管道pipe。

var fileReadStream = fs.createReadStream(sourcePath);
var fileWriteStream = fs.createWriteStream(targetPath);
fileReadStream.pipe(fileWriteStream);
//监听关闭事件得知执行完成
fileWriteStream.on('close', function() {
 console.log('移动成功!');   
})
登入後複製

讀取檔案(fs.readFile)

定義:fs.readFile( filename[, options], callback)

參數:

  • #filename:{String} 檔案名稱/檔案路徑

  • options:{Object} 可選參數

encoding:{String | Null} 預設= null 編碼方式

flag:{String} 默認= 'r' 檔案開啟的行為(可寫,可讀等)

  • #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);
    });
    登入後複製

  • 這裡讀取檔案如果不設定編碼方式,讀取的檔案就是以buffer的形式回傳。

<Buffer 76 61 72 20 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 20 3d 20 72 65 71 75 69 72 65 28 27 63 68 69 6c 64 5f 70 72 6f 63 65 73 73 27 29 3b 0d 0a 76 61 72 ... >
登入後複製

設定為utf-8後,傳回的就是字串的形式。如下:

var child_process = require(&#39;child_process&#39;);...
登入後複製

#寫入檔案(fs.writeFile)

定義:fs.writeFile(filename, data[, options], callback)

#參數:

  • filename:{String}

  • #data:{String | Buffer}
  • options:{Object}

  • encoding:{ String | Null} 預設= 'utf8'
mode:{Number} 預設= 438 (aka 0666 in Octal)

flag:{String} 預設= 'w'

callback {Function}

//写入文件
fs.writeFile(&#39;../lianxi/child_process.js&#39;,&#39;[zqz]要写入的数据字符串或者buffer&#39;,{
 encoding:&#39;utf8&#39;,
 mode:438,
 flag:&#39;w&#39;
},function(err){
})
登入後複製

  • 注意:

    非同步寫文件,如果文件已經存在則替換。

  • 開啟檔案(fs.open)

  • #定義:fs.open(path, flags[, mode], callback)

    參數:


path:檔案/檔案路徑

    #flags:檔案開啟的行為

  • mode:設定檔案模式(權限),檔案建立預設權限為0666(可讀,可寫入)。

callback:回呼函數

#

//打开文件
fs.open(&#39;../lianxi/child_process.js&#39;,&#39;r+&#39;,0666,function(err,data){
})
登入後複製

新增資料(fs.appendFile)

#定義:fs.appendFile(filename, data[, options], callback)

參數:

filename:{String}

data:{String | Buffer}

options :{Object}

encoding {String | Null} 預設= 'utf8'

mode {Number} 預設= 438 (aka 0666 in Octal)

flag {String} 預設= 'a'

callback {Function}

##
//给文件添加数据
fs.appendFile(&#39;../lianxi/child_process.js&#39;, &#39;异步添加的字符串或buffer&#39;, {
 encoding:&#39;utf8&#39;,
 mode:438,
 flag:&#39;a&#39;
}, function(err){
});
登入後複製


#注意:

異步的為檔案新增數據,如果檔案不存在,就會建立一個檔案。

刪除檔案(fs.unlink)

#「定義:fs.unlink(path, callback)


#

var fs = require(&#39;fs&#39;);
fs.unlink(&#39;./t/index.html&#39;,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
登入後複製



###建立檔案(fs.open)##################建立檔案(fs.open)############定義:fs.open( path, flags[, mode], callback)######也可以使用fs.open建立檔案。 #########
fs.open("test.txt", "w",function (err) {
});
登入後複製
#########################刪除資料夾(fs.rmdir)######## ####定義:fs.rmdir(path, callback)#########
fs.rmdir(&#39;./t/a&#39;,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
登入後複製
#######################建立文件夾(fs.mkdir)############定義:fs.mkdir(path[, mode], callback)######參數:mode 預設是to 0777.#### #####
fs.mkdir(&#39;./t/a&#39;,0777,function (err) {
 if(err) throw err;
 console.log(&#39;成功&#39;)
})
登入後複製
###############檔案監聽(fs.watch fs.watchFile)############定義:fs.watch(filename [, options][, listener])###定義:fs.watchFile(filename[, options], listener)#########
fs.watch(&#39;test.js&#39;, function (event, filename) {
});
fs.watchFile(&#39;test.js&#39;, function(curr, prev){
});
登入後複製
##########flags##### #############以讀取模式打開文件。如果檔案不存在拋出異常。 r+以讀寫模式開啟檔案。如果檔案不存在拋出異常。 rs以同步的方式讀取檔案。 rs+以同步的方式讀取和寫入檔案。 w以寫入模式開啟文件,如果文件不存在則建立。 wx類似 'w',但是如果檔案路徑存在,則檔案寫入失敗。
Flag 描述
#r
w+ 以讀寫模式開啟文件,如果文件不存在則建立。
wx+ 類似 'w+', 但是如果檔案路徑存在,則檔案讀寫失敗。
a 以追加模式開啟文件,如果文件不存在則建立。
ax 類似 'a', 但是如果檔案路徑存在,則檔案追加失敗。
a+ 以讀取追加模式開啟文件,如果文件不存在則建立。
ax+ 類似 'a+', 但是如果檔案路徑存在,則檔案讀取追加失敗。


以上是解析NodeJs的fs讀寫刪除移動監聽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板