const fs = require('fs');
const path = require('path');
function readTxtFilesInDir(dirPath) {
return new Promise((resolve, reject) => {
fs.readdir(dirPath, (err, files) => {
if (err) {
reject(err);
return;
}
const txtFiles = files.filter(file => path.extname(file) === '.txt');
const readPromises = txtFiles.map(file => {
const filePath = path.join(dirPath, file);
return new Promise((resolveInner, rejectInner) => {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
rejectInner(err);
} else {
resolveInner(data);
}
});
});
});
Promise.all(readPromises)
.then(dataList => {
const mergedContent = dataList.join('');
resolve(mergedContent);
})
.catch(err => {
reject(err);
});
});
});
}
// 使用示例
const directory = './your-directory';
readTxtFilesInDir(directory)
.then(mergedContent => {
console.log(mergedContent);
})
.catch(err => {
console.error(err);
});