2015-05-27 81 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);