2015-05-27 144 views
0

你好,我對node.js有一個問題,主要是創建新的大文件。用node.js創建大文件

我明白怎麼做的東西,如

fs.writeFile('ss.js', 'console.log("hello")'); 

但是,當我需要創建一個有5個或更多行的文件,AKA所有的文件我的問題就來了。我不知道該從哪裏開始解決這個問題。我經歷了很多教程,他們都說:「現在創建一個文件,並用這些代碼行來填充它」,但是他們都沒有深入瞭解如何使用多行代碼創建一個文件。

非常感謝,如果任何人都可以通過這一基本步驟。謝謝!

+0

您可以在文本中添加換行符「\ r \ n」來創建多行內容。看看appendFile方法。 https://nodejs.org/api/fs.html –

回答

0

你有點破壞「大文件」。這些只是簡單的換行符,這是(至少在Unix上)大約5個額外的字節(因爲換行符被表示爲單個字節)。

拿這個例子:

fs.writeFile("test.js", "var test = 'ey b0ss';\nconsole.log(test);\nif (true) {\nconsole.log('yey');\n}"); 

在這個例子中,換行符被表示爲\n,考慮你是Unix機器上,這將正常工作(如果你在Windows機器上,我認爲\r是替代)...(你可以使用\r\n組合來表示兩個操作系統的一個斷行)

的這個輸出是UNIX系統是:

var test = 'ey b0ss'; 
console.log(test); 
if (true) { 
console.log('yey'); 
} 

實際上創建大文件(就存儲而言),在我看來,最好是將其表示爲緩衝區。

例如,假設我們想創建一個文件,其中包含100,000個「a」字符。

var largeBuffer = new Buffer(""), i, 
anotherBuffer = new Buffer("a"), 
fs = require("fs"); 

for (i=0; i<=100000; i++) { 
    largeBuffer = Buffer.concat([largeBuffer, anotherBuffer]); 
} 

fs.writeFile("a.txt", largeBuffer);