读取文件夹内的几个txt文件的行,并创建包含所有文本行的单个文本文件。这是一个我工作的例子,但是只读取一个特定的文件,然后我用该文件中包含的文本行创建一个文件。
const testFolder = './txt_files/';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
console.log(file);
});
})
fs.readFile('txt_files/url-list1.txt', 'utf8', function(err, data) {
if (err) throw err;
console.log(data);
fs.writeFile('txt_files/test.txt', data, function(err) {
if(err) {
return console.log(err);
}
console.log("El archivo con todas las url se guardó!");
});
});
此示例有效。它从'txt_files'文件夹中读取单个文件,并使用提取的文本行创建一个新的txt。我想要做的是读取该文件夹中的所有文件,并创建一个包含所有文本行的新文件。 请帮帮我!
答案 0 :(得分:0)
const testFolder = './txt_files/';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
console.log(file);
fs.readFile(testFolder+file, 'utf8', function(err, data) {
if (err) throw err;
console.log(data);
fs.appendFile('txt_files/test.txt', data+"\n", function(err) {
if(err) {
return console.log(err);
}
console.log("El archivo con todas las url se guardó!");
});
});
});
});
答案 1 :(得分:0)
所以,使用你已经提供的东西,这就是我提出的。 FS有一个名为appendFile
的函数,如果文件不存在则会创建该文件,然后将数据附加到文件的EOF中。
阅读有关函数here
我添加了TXT扩展检查,因此这只会附加实际文本文件中的数据。
const testFolder = './txt_files/';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
// only match TXT Files
if (file.substring(file.length - 4, file.length) == ".txt"){
fs.readfile(testFolder+file, 'utf8', (err, data) => {
fs.appendFile(testFolder+'allfiles.txt', data+"\n", function (err) {
if (err) throw err;
});
});
}
});
});