Javascript 如何导入一个文件,其中文件名的一部分经常更改?
我正在尝试导入一个文件,其中文件名的一部分经常更改。当前日期是文件名的一部分。因此,它得到的变化非常频繁 下面是我导入文件的代码。因为它的名字变了 如何在每天不更改文件名的情况下导入文件 var CusInfo=path.join(uu dirname,' CusInfo_2018_05-17.txt')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'
下面是一个使用
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)
}