打印1-100的数字,然后将其存储在txt文件中



所以我做了一个简单的代码来打印从1到100的数字,它运行得很好,但我想把每个数字都存储在一个文本文件中,所以从1到100的每个数字都会存储在自己的行中,问题是它只存储最后一个数字

const fs = require('fs')
for(var i = 1; i < 100; i++){
let data = `(1, ${i}, 0, 'Game Channel ${i}', '1'),`
fs.writeFile('Output.txt', data, (err) => {
if (err) throw err;
})}

例如,在txt文件中,输出为:

(1,1,0,'游戏频道1','1'(,(1,2,0,"游戏频道2","1"(

写在最后,因为在以后的每次写操作中都要覆盖它。

const fs = require('fs');
let data = "";
for (let i = 1; i <= 100; i++){
data += `(1, ${i}, 0, 'Game Channel ${i}', '1'),n`;
}
fs.writeFile('Output.txt', data, (err) => {
if (err) throw err;
});

您可以使用createWriteStream打开文件,然后异步写入。

const fs = require('fs');
async function main() {
const ws = fs.createWriteStream('output.txt');
for (let i = 1; i < 100; i++) {
let data = `(1, ${i}, 0, 'Game Channel ${i}', '1'),n`
await ws.write(data);
}
}
main();

首先构建整个组合字符串,然后写入文件。

const fs = require('fs');
const data = Array.from({length: 100}, (_, i) => `(1, ${i+1}, 0, 'Game Channel ${i+1}', '1'),n`).join('')
fs.writeFile('Output.txt', data, (err) => {
if (err) throw err;
});

最新更新