真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

NodeJs之fs的讀寫(xiě)刪移監(jiān)塊

    

成都創(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

fs


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

圖片的復(fù)制與粘貼

創(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)

定義: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');...

寫(xiě)文件(fs.writeFile)

定義: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){})

NodeJs之fs的讀寫(xiě)刪移監(jiān)塊

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

打開(kāi)文件(fs.open)

定義: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){
    })

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

定義: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)

定義: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 默認(rèn)是 to 0777.

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

文件監(jiān)聽(tīng)(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以讀取模式打開(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+', 但是如果文件路徑存在,則文件讀取追加失敗。

    


新聞名稱:NodeJs之fs的讀寫(xiě)刪移監(jiān)塊
分享網(wǎng)址:http://weahome.cn/article/jihgcg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部