第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

用Node.js編寫文件

用Node.js編寫文件

jeck貓 2019-06-10 16:55:28
用Node.js編寫文件我一直試圖在使用Node.js時(shí)找到一種寫入文件的方法,但沒有成功。我怎么能這么做?
查看完整描述

3 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

中有很多細(xì)節(jié)文件系統(tǒng)API..最常見的方法是:

const fs = require('fs');fs.writeFile("/tmp/test", "Hey there!", function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");});


查看完整回答
反對(duì) 回復(fù) 2019-06-10
?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

目前有三種編寫文件的方法:

  1. fs.write(fd, buffer, offset, length, position, callback)

    您需要等待回調(diào),以確保緩沖區(qū)被寫入磁盤。沒有緩沖。

  2. fs.writeFile(filename, data, [encoding], callback)

    所有數(shù)據(jù)必須同時(shí)存儲(chǔ);不能執(zhí)行順序?qū)懭搿?/trans>

  3. fs.createWriteStream(path, [options])

    創(chuàng)建WriteStream,這很方便,因?yàn)槟恍枰却卣{(diào)。但同樣,它沒有緩沖。

WriteStream顧名思義,是一條小溪。根據(jù)定義,流是“一個(gè)緩沖區(qū)”,它包含向一個(gè)方向移動(dòng)的數(shù)據(jù)(源?目標(biāo))。但可寫流不一定是“緩沖”的。當(dāng)您編寫時(shí),流將被“緩沖”。n時(shí)間和時(shí)間n+1,流將緩沖區(qū)發(fā)送到內(nèi)核(因?yàn)樗褲M,需要刷新)。

換言之:“緩沖區(qū)”是對(duì)象。它是否“被緩沖”是該對(duì)象的屬性。

如果您查看代碼,WriteStream從可寫的Stream對(duì)象。如果您注意,您將看到它們?nèi)绾嗡⑿聝?nèi)容;它們沒有任何緩沖系統(tǒng)。

如果寫入字符串,則將其轉(zhuǎn)換為緩沖區(qū),然后發(fā)送到本機(jī)層并寫入磁盤。在編寫字符串時(shí),它們沒有填充任何緩沖區(qū)。所以,如果你這樣做了:

write("a")write("b")write("c")

你在做:

fs.write(new Buffer("a"))fs.write(new Buffer("b"))fs.write(new Buffer("c"))

那是調(diào)用I/O層。雖然您使用的是“緩沖區(qū)”,但數(shù)據(jù)并不是緩沖的。緩沖流可以:fs.write(new Buffer ("abc")),對(duì)I/O層的一個(gè)調(diào)用。

到目前為止,Node.js v0.12(公布的穩(wěn)定版本為02/06/2015)現(xiàn)在支持兩個(gè)功能:cork()uncork()..看來,這些函數(shù)最終將允許您緩沖/刷新寫調(diào)用。

例如,在Java中有一些類提供緩沖流(BufferedOutputStreamBufferedWriter.)。如果您編寫了三個(gè)字節(jié),這些字節(jié)將存儲(chǔ)在緩沖區(qū)(內(nèi)存)中,而不是只執(zhí)行三個(gè)字節(jié)的I/O調(diào)用。當(dāng)緩沖區(qū)已滿時(shí),內(nèi)容將被刷新并保存到磁盤中。這提高了性能。

我沒有發(fā)現(xiàn)任何東西,只是記得應(yīng)該如何進(jìn)行磁盤訪問。


查看完整回答
反對(duì) 回復(fù) 2019-06-10
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

你當(dāng)然可以讓它更先進(jìn)一點(diǎn)。非阻塞,寫入零碎,而不是立即寫入整個(gè)文件:

var fs = require('fs');var stream = fs.createWriteStream("my_file.txt");stream.once('open', function(fd) {
  stream.write("My first row\n");
  stream.write("My second row\n");
  stream.end();});


查看完整回答
反對(duì) 回復(fù) 2019-06-10
  • 3 回答
  • 0 關(guān)注
  • 589 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)