溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NodeJs中fs讀寫刪除移動監(jiān)聽的示例分析

發(fā)布時間:2021-07-28 09:10:31 來源:億速云 閱讀:127 作者:小新 欄目:web開發(fā)

小編給大家分享一下NodeJs中fs讀寫刪除移動監(jiān)聽的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

NodeJs版本:4.4.4

fs

文件系統(tǒng)模塊是一個封裝了標準的 POSIX 文件 I/O 操作的集合。Node.js 文件系統(tǒng)(fs 模塊)模塊中的方法均有異步和同步版本。

圖片的復制與粘貼

創(chuàng)建一個可讀流與一個寫入流。通過管道pipe。

var fileReadStream = fs.createReadStream(sourcePath);
var fileWriteStream = fs.createWriteStream(targetPath);
fileReadStream.pipe(fileWriteStream);
//監(jiān)聽關閉事件得知執(zhí)行完成
fileWriteStream.on('close', function() {
 console.log('移動成功!');   
})

讀文件(fs.readFile)

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

參數(shù):

  • filename:{String} 文件名/文件路徑

  • options:{Object} 可選參數(shù)

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('child_process');...

寫文件(fs.writeFile)

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

參數(shù):

  • 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('../lianxi/child_process.js','[zqz]要寫入的數(shù)據(jù)字符串或者buffer',{
 encoding:'utf8',
 mode:438,
 flag:'w'
},function(err){
})

注意:異步寫文件,如果文件已經(jīng)存在則替換。

打開文件(fs.open)

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

參數(shù):

  • path:文件/文件路徑

  • flags:文件打開的行為

  • mode:設置文件模式(權限),文件創(chuàng)建默認權限為 0666(可讀,可寫)。

  • callback:回調(diào)函數(shù)

//打開文件
fs.open('../lianxi/child_process.js','r+',0666,function(err,data){
})

給文件添加數(shù)據(jù)(fs.appendFile)

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

參數(shù):

  • filename:{String}

  • data:{String | Buffer}

  • options:{Object}

encoding {String | Null} 默認 = 'utf8'
mode {Number} 默認 = 438 (aka 0666 in Octal)
flag {String} 默認 = 'a'

  • callback {Function}

//給文件添加數(shù)據(jù)
fs.appendFile('../lianxi/child_process.js', '異步添加的字符串或buffer', {
 encoding:'utf8',
 mode:438,
 flag:'a'
}, function(err){
});

注意:異步的給文件添加數(shù)據(jù),如果文件不存在,就會創(chuàng)建一個文件。

刪除文件(fs.unlink)

定義:fs.unlink(path, callback)

var fs = require('fs');
fs.unlink('./t/index.html',function (err) {
 if(err) throw err;
 console.log('成功')
})

創(chuàng)建文件(fs.open)

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

也可以使用fs.open創(chuàng)建文件。

fs.open("test.txt", "w",function (err) {
});

刪除文件夾(fs.rmdir)

定義:fs.rmdir(path, callback)

fs.rmdir('./t/a',function (err) {
 if(err) throw err;
 console.log('成功')
})

創(chuàng)建文件夾(fs.mkdir)

定義:fs.mkdir(path[, mode], callback)

參數(shù):mode 默認是 to 0777.

fs.mkdir('./t/a',0777,function (err) {
 if(err) throw err;
 console.log('成功')
})

文件監(jiān)聽(fs.watch fs.watchFile)

定義:fs.watch(filename[, options][, listener])
定義:fs.watchFile(filename[, options], listener)

fs.watch('test.js', function (event, filename) {
});
fs.watchFile('test.js', function(curr, prev){
});

flags

Flag描述
r以讀取模式打開文件。如果文件不存在拋出異常。
r+以讀寫模式打開文件。如果文件不存在拋出異常。
rs以同步的方式讀取文件。
rs+以同步的方式讀取和寫入文件。
w以寫入模式打開文件,如果文件不存在則創(chuàng)建。
wx類似 'w',但是如果文件路徑存在,則文件寫入失敗。
w+以讀寫模式打開文件,如果文件不存在則創(chuàng)建。
wx+類似 'w+', 但是如果文件路徑存在,則文件讀寫失敗。
a以追加模式打開文件,如果文件不存在則創(chuàng)建。
ax類似 'a', 但是如果文件路徑存在,則文件追加失敗。
a+以讀取追加模式打開文件,如果文件不存在則創(chuàng)建。
ax+類似 'a+', 但是如果文件路徑存在,則文件讀取追加失敗。

以上是“NodeJs中fs讀寫刪除移動監(jiān)聽的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI