Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导入一个文件,其中文件名的一部分经常更改?_Javascript_Node.js_Node Modules - Fatal编程技术网

Javascript 如何导入一个文件,其中文件名的一部分经常更改?

Javascript 如何导入一个文件,其中文件名的一部分经常更改?,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,我正在尝试导入一个文件,其中文件名的一部分经常更改。当前日期是文件名的一部分。因此,它得到的变化非常频繁 下面是我导入文件的代码。因为它的名字变了 如何在每天不更改文件名的情况下导入文件 var CusInfo=path.join(uu dirname,' CusInfo_2018_05-17.txt') 下面是一个使用fs库读取目录内容并搜索包含“CusInfo”的文件的示例 import fs from 'fs'; let contents = fs.readDirSync('./foo'

我正在尝试导入一个文件,其中文件名的一部分经常更改。当前日期是文件名的一部分。因此,它得到的变化非常频繁

下面是我导入文件的代码。因为它的名字变了 如何在每天不更改文件名的情况下导入文件

var CusInfo=path.join(uu dirname,' CusInfo_2018_05-17.txt')


下面是一个使用
fs
库读取目录内容并搜索包含“CusInfo”的文件的示例

import fs from 'fs';

let contents = fs.readDirSync('./foo');

for(let x = 0; x < contents.length; x++){
 if(contents[x].includes('CusInfo')){
    // Do more checks or use the file or save to another variable.
   }
}
从“fs”导入fs;
让contents=fs.readDirSync('./foo');
for(设x=0;x

现在,如果文件名因日期而更改,您仍然可以找到一个或多个文件。

鉴于您要读取的文件名每天都在更改,如果您不想硬编码名称,则需要在代码中描述相同的命名规则

由于(我假设)您只希望今天的数据位于
txt
文件的路径中,所以只需将其放入文件名中即可。您可以这样做:

现在这很可能会抛出一个错误,因为不能保证
txt
文件已经创建

要处理此问题,请在实际读取文件之前使用

fs.access(fileName, fs.constants.F_OK, (err) => {
    if (err) {
        fileName = `CusInfo_${now.add(-1, 'days').format('YYYY_MM-DD')}.txt`;
    }

    fs.readFileSync(fileName)
}

上面的代码将检查当前的
txt
文件是否存在,如果不存在,将更改昨天的文件名
txt
文件。

您是否考虑过通过读取父文件夹的内容来进行导入?因为它的名称会更改,并且它的名称有一个规则,在代码中实现规则以查找文件名。不要硬编码它的名字。
fs.access(fileName, fs.constants.F_OK, (err) => {
    if (err) {
        fileName = `CusInfo_${now.add(-1, 'days').format('YYYY_MM-DD')}.txt`;
    }

    fs.readFileSync(fileName)
}