2017-04-06 45 views
1

根據節點的v6.10.2 API - 選擇是一個對象或字符串與下列默認值:fs.createReadStream(path [,options]) - 這些選項是什麼?

{ 
flags: 'r', 
encoding: null, 
fd: null, 
mode: 0o666, 
autoClose: true 
} 

但我見過highWaterMark屬性被用於設置緩衝區的大小。但API沒有把它放在選項上。所以我想知道是否有更多的API沒有寫在文檔上。如果是這樣,我可以找到完整的選項列表?

和API沒有談論標誌,所以我想知道在這種情況下,什麼樣的標誌劑量,什麼是我試圖找到那些答案

flags: r 
flags: w 
flags: r+ 

之間的差異,但我沒有找到任何有用的信息。如果有人幫我理解這個話題,我會很感激。 謝謝。

回答

0

在寫這個答案的時候,文檔中似乎沒有從流上下文中的解釋,所以目前還不清楚哪些選項可以用於可讀流。據我所知,這些標誌很可能與fs.open等其他fs操作指定的標誌相同。

從文檔:

https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback

r - 讀打開文件。如果該文件不存在,則會發生異常。

r+ - 打開文件進行讀寫。如果該文件不存在,則會發生異常。

rs+ - 在同步模式下打開文件進行讀寫。指示操作系統繞過本地文件系統緩存。

這對打開NFS掛載文件非常有用,因爲它允許跳過潛在的過時本地緩存。它對I/O性能有非常實際的影響,因此不建議使用此標誌,除非需要。

w - 打開文件進行寫入。該文件被創建(如果它不存在)或截斷(如果它存在)。

wx - 像'w'一樣,但如果路徑存在則失敗。

w+ - 打開文件進行讀寫。該文件被創建(如果它不存在)或截斷(如果它存在)。

wx+ - 和'w +'一樣,但如果路徑存在則失敗。

a - 打開文件進行追加。如果該文件不存在,則會創建該文件。

ax - 就像'a'一樣,但如果路徑存在就會失敗。

a+ - 打開文件進行閱讀和追加。如果該文件不存在,則會創建該文件。

ax+ - 就像'a +'一樣,但如果路徑存在就會失敗。