如何使用Java脚本获取所有文件的列表及其路径

时间:2018-12-18 06:16:58

标签: javascript node.js

我想获取所有文件的列表及其路径。我下面的代码不符合我的要求。它只是给我目录的文件名。

例如:以下是我的输入 \ dir \ temp1.txt \ dir \ dir1 \ temp2.​​txt

我要创建的文件可能是temp.json并转储文件名及其路径。

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

const directoryPath = path.join(__dirname, 'Dir');
console.log(directoryPath);

fs.readdir(directoryPath, function(err, files){

    if (err) {
        return console.log("Unable to scan directory" + err);
    }
    files.forEach(function (file){
        console.log(file);
    })

});

有人可以指导我吗?

1 个答案:

答案 0 :(得分:0)

该实现如何?

const walkSync = (dir, filelist = []) => {
  const files = fs.readdirSync(dir);
  for (const file of files) {
    const dirFile = path.join(dir, file);
    const dirent = fs.statSync(dirFile);
    if (dirent.isDirectory()) {
      console.log('directory', path.join(dir, file));
      var odir = {
        file: dirFile,
        files: []
      }
      odir.files = walkSync(dirFile, dir.files);
      filelist.push(odir);
    } else {
      filelist.push({
        file: dirFile
      });
    }
  }
  return filelist;
};

浏览此gist