是否可以通过提供的包含字符串来查找具有给定扩展名的文件?
我的方法应该是什么?例如,输入为txt
和hello
,输出为包含扩展名为hello
的字符串txt
的所有文件的列表。
答案 0 :(得分:0)
您可以使用readdir
方法使用FileSystem来获取文件夹的内容,这将为您返回一个字符串数组。
比方说,您的工作目录是一个src
文件,其中有一个您要读取的files
文件夹。您的脚本如下所示:
const fs = require('fs');
var files = fs.readdir('./files', (err, filenames) => {
if (err) throw err;
return filenames;
})
然后可以使用字符串方法分隔字符串。假设您要拥有两个变量fileName
和fileExt
您将使用String.split(separator)
方法,并使用.
字符作为分隔符。
var files = // fs snippet above
for (file in files) {
let fileComponents = file.split('.');
let fileName = fileComponents[0];
let fileExt = fileComponents[1];
// You can run your code on the name, and extension of your file here.
}
这不适用于名称中包含多个点的文件。您将需要对数组进行额外的工作,以确保fileName
包含每个串联的字符串,并用.
分隔,直到fileComponents
字符串的最终索引为止。