从文件读取内容会产生空字符串

时间:2018-12-06 18:49:14

标签: javascript node.js fs

我正在尝试读取文件目录的内容。不幸的是,数据没有被正确读取(或根本没有被读取)。如果我独立打开这些文件,则有数据,但是当我尝试检查内容时,数据为空。最终目标是将所有数据放入一个数组中。

function readFilesSync(directory, filesInDirectory = []) {
  fs.readdirSync(directory)
    .forEach(file => {
        let content = fs.readFileSync(directory + file, 'utf8');
        console.log(content); // Blank
        const filepath = path.resolve(directory, file);
        const stat = fs.statSync(filepath);
        const isFile = stat.isFile();

        if (isFile) filesInDirectory.push(content);
    });
    return filesInDirectory;
}

感谢您的帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您遇到的错误是

  

EISDIR:对目录进行非法操作,请阅读

然后不要尝试读取目录

function readFilesSync(directory, filesInDirectory = []) {
    fs.readdirSync(directory)
        .forEach(file => {
            const filepath = path.resolve(directory, file);
            const stat = fs.statSync(filepath);
            const isFile = stat.isFile();

            if (isFile) {
                let content = fs.readFileSync(filepath, 'utf8');
                console.log(content); // Not Blank
                filesInDirectory.push(content);
            }
        });
    return filesInDirectory;
}