如何在目录中读取指定ext的所有文件?

时间:2016-04-21 11:13:10

标签: node.js

我是nodejs的新手,希望这可以工作。

var fs = require('fs');

fs.readdir("dir", function(err, files) {
    if (err) return;
    files.forEach(function(f) {
        data = []
        if f.extension = "rtf"
        data = data + f.data
    });
});

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

const fs = require('fs');
const path = require('path');

fs.readdir("dir", (err, files) => {
    if (err) return;
    files.forEach(f => {
        let data = []
        const ext = path.extname(file)
        if (ext == ".rtf") {
            fs.readFile(f, function read(err, content) {
                if (err) {
                    throw err;
                }
                data.push(content);
            });
        }
    });
});

您将拥有数组data下的每个文件内容。但最好将它放入一个对象中,以便知道内容的来源,如下所示:

const fs = require('fs');
const path = require('path');

fs.readdir("dir", (err, files) => {
    if (err) return;
    files.forEach(f => {
        let data = {}
        const ext = path.extname(file)
        if (ext == ".rtf") {
            fs.readFile(f, function read(err, content) {
                if (err) {
                    throw err;
                }
                data[f] = content;
            });
        }
    });
});