2014-01-07 63 views
1

我想寫一個文件到當前腳本文件夾的父文件夾(有時候是指向那個父文件夾的子目錄)?如何使用fs of nodejs將文件寫入父文件夾?

我該如何寫出路徑?

可以工作嗎?

fs.writeFile(__dirname + '../sibling_dir/file.txt', 'test'); 
+1

也期待在'path'(path.resolve將幫助你在這裏) – Joe

+0

@Joe聲音很大! –

回答

7

是的,這應該可以正常工作。我看到的主要問題是在dirname和路徑之間沒有/

所以,你現在有什麼更像是:

fs.writeFile('/tmp/module../sibling_dir/file.txt', 'test'); 

試試這個:

fs.writeFile(__dirname + '/../sibling_dir/file.txt', 'test'); 
3

我試過了;

fs.writeFile('../test.txt', 'test'); 

工作!

http://nodejs.org/api/fs.html#fs_fs_write_fd_buffer_offset_length_position_callback

fs.write(FD,緩衝器,偏移,長度,位置,回調)# 寫緩衝器由FD指定的文件。

偏移量和長度決定要寫入的緩衝區的部分。

位置是指應該寫入數據的文件開頭的偏移量。如果position爲null,則數據將寫入當前位置。參見pwrite(2)。

回調將被賦予三個參數(err,written,buffer),其中寫入指定從緩衝區中寫入了多少個字節。

請注意,在等待回調的情況下在同一文件上多次使用fs.write是不安全的。對於這種情況,強烈建議使用fs.createWriteStream。

在Linux上,當以附加模式打開文件時,位置寫入不起作用。內核忽略位置參數並始終將數據追加到文件的末尾。

+2

取出'__dirname'將寫入相對於當前工作目錄的文件,而不是相對於腳本文件。 – loganfsmyth

相關問題