2017-04-13 68 views
0

我的Node.js程序想要在Windows机器上读取文件“test.txt”的内容。它使用fs.existsSync()检查文件是否存在并读取其内容。但是现在我希望程序改为如果磁盘上的文件名称实际上是“TEST.txt”或其他与我的程序正在查找的名称不同的名称,则会给出错误或警告。 “的test.txt”。Node.js:如何知道在Windows上不同情况下匹配内部文件名的实际文件名

即使existsSync()告诉我一个文件存在,磁盘上的文件有一个名称与我用来查找它的文件名有区别的名称,是否有直接的方法?

回答

1

您可以使用fs.readdir获取目录中所有文件的列表,然后比较文件名以查看是否匹配。

var fs = require('fs'); 

var path = __dirname; 
var filename = 'test.txt'; 

var files = fs.readdirSync(path); 
var exists = files.includes(filename); 

// true if file on disk is "test.txt", 
// false if file on disk is "TEST.txt" 
console.log(exists); 
+0

这可能是最好的答案,我只是希望有一种方法可以做到这一点,而无需阅读可能很长的文件列表,然后检查该列表是否包含在内。谢谢 –

相关问题