2014-02-26 31 views
2

我無法獲取phantomjs以寫入新行。我可以讓它替換數據,我可以把它寫到最後,我可以讓它註冊「\ n」代碼,但它只是從字符串中刪除它,並沒有實現它。Phantomjs - 用fs.write()將數據寫入新行不會進入下一行

以下是一些使用寫入文件的代碼im的示例。

fs.write("example.txt", "write me first", "a"); 
fs.write("example.txt", "\n write me to the next line bro!", "a"); 

但它輸出如下

write me first write me to the next line bro! 

有誰知道如何解決這一問題?如果它全部在一行上,很難查看帶有歷史記錄的錯誤日誌。

我曾嘗試 「\ n」 和 「\ r」

-----編輯------

伊夫從此成爲稍強開發商。我現在意識到這一切都是正確的。這不是我的代碼,甚至phantomjs/casperjs的問題,而是記事本的問題。

由於我想要簡單,我沒有使用IDE。因此,我遇到了微軟會嘗試在記事本中重新格式化問題的問題。

如果有其他新手在使用記事本或任何其他默認文本編輯器,您也可能會遇到這種情況。

考慮切換到許多IDE或代碼編輯器之一。簡單的windows上的notepad ++或mac上的textwrangler應該會給你一些與默認編輯器相似的感覺。

回答

0

這是我的舊文章。我改寫它聽起來更專業。

上述問題與Microsoft記事本有關。它忽略了某些車廂。我確定有一種方法可以讓它註冊它們,但是它當時並沒有在默認的windows 7 comp上開啓。

更高級的編輯器,或者基本上任何代碼編輯器/ ide應該能夠拿起車廂。

對於其他新手,車廂基本上是「下一條線路」的原始代碼。

^^ >>我知道這不太可能是對此的技術反應,但對於一個新手來說是一個體面和明確的迴應,他可能是通過谷歌尋找本頁的人之一。請不要將其編輯爲超級高級定義。

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 –

0

您使用的是什麼版本的PhantomJS?

在Linux下,用PhantomJS 1.9.7,我可以使用下面的test.js

fs = require('fs'); 
fs.write("test.dat", "write me first", "a"); 
fs.write("test.dat", "\nwrite me to the next line", "a"); 
phantom.exit(); 

從運行phantomjs test.js得到以下輸出test.dat

write me first 
write me to the next line 
+0

1.9.2讓我快速升級,看看能否解決它。我真的希望那是修復。 –

+0

好的,在Windows8 1.9.7仍然無法正常工作。 –

+0

對不起,這個問題。我想到了。記事本不應該被允許存在。我刪除問題。 -edit-不會讓我刪除。我留下了一個答案,以防其他人有相同的問題 –

0

如果您用記事本++打開輸出文件,您將用新行獲取數據。普通記事本不顯示斷線。

4

Windows使用\ r \ n作爲換行符。

\ r是一個回車,\ n是一個換行符。

這是對舊打字機的參考,它需要將打字頭(托架)帶回每條新線的開頭。

+0

我標記你回答但沒有選擇它。我遇到的問題是一個主要只有新手纔會有的問題。我不明白我遇到的問題。你仍然給出了一個很好的答案。 –