2017-04-13 36 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

這可能是最好的答案,我只是希望有一種方法可以做到這一點,而無需閱讀可能很長的文件列表,然後檢查該列表是否包含在內。謝謝 –

相關問題