【问题标题】:Read folder created on local machine by using Math.random() method in Node js / JavaScript使用 Node js / JavaScript 中的 Math.random() 方法读取在本地计算机上创建的文件夹
【发布时间】:2022-02-11 12:31:45
【问题描述】:

我正在尝试读取一个 JSON 文件,该文件位于一个文件夹内和另一个文件夹中的文件夹中,该文件是在执行某些任务时在我的本地计算机上创建的,但问题是每次文件夹名称随着文件夹名称的生成而更改通过Math.random() 方法但前缀为_createdFolder_ 所以它看起来像这样_createdFolder_012 代替012 它可以是454782 或任何数字,因为它是由Math.random() 方法生成的,如果文件夹名称是固定的,我可以轻松读取文件,但文件名已更改且难以读取

我想读取一个 json 文件,它的路径看起来像这样

文件夹路径

_createdFolder_563/data/systemCode/access.json

因为我想读取和获取在执行某些任务时在本地计算机上创建的 json 文件,但如果文件夹名称是固定的,我可以轻松读取它,但由于 Math.random() 很难读取文件

fs.readFile("_createdFolder_501/data/systemCode/access.json", function(err, data) {
    if (err) throw err;
   
    const JsonData = JSON.parse(data);
      
    console.log(JsonData);  
});

有什么方法可以读取Math.random()创建的文件夹

【问题讨论】:

    标签: javascript node.js nodes node-modules


    【解决方案1】:

    是的。

    FS.readdir(path)。它列出了目录的内容。

    您需要调用它,并为其提供包含随机命名文件夹的文件夹的路径。这将为您提供所有文件和文件夹的列表。

    然后您需要在该列表中搜索名称与该模式匹配的项目。然后你就有了你需要的名字,然后你就可以完成剩下的逻辑了。

    【讨论】:

    • 嗨@Tom 我知道 Fs.readDir() 是如何工作的,但问题是它被下载的地方没有。目录,读取所有不必要的文件确实很耗时
    • 1.我想你误会了。您实际上并没有阅读文件,而是获得了单个目录的目录列表。除非存储设备是网络驱动器或其他东西,否则这在几乎任何硬件上几乎都是即时的。通过发布readdir 的性能数据来证明我错了。 2. 不管需要多长时间,这是唯一的方法。无论程序生成随机目录名称,您都无法洞察它。因此,您必须获取项目列表,然后研究名称以找到正确的项目。你可能需要stat()该项目。
    • 好吧,你的意思是 fs.readdir(process.cwd(), (err, files) => {if (err) console.log(err); else { console.log(files); } }) 我应该写这个,但我将如何从列表中获得 _createdFolder_294 或任何 _createdFolder_
    • 基本上,是的。 files 将是一个字符串数组。您在该数组(使用标准数组方法)中搜索与应用程序使用的命名模式匹配的项目。
    • 那么下一步会是像if( files.includes("_createdFolder_"){ what will be next step }
    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 2011-12-29
    • 2011-02-16
    • 2012-04-11
    • 1970-01-01
    • 2020-10-07
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多