java - 根据用户在java中提供的名称列表列出目录中的文件
问题描述
目前,我可以使用以下函数获取文件名列表。
public class HelloWorld {
public static void main(String[] args) {
List < String > s = new ArrayList < > ();
s.add("AulaIternational.pdf");
s.add("Spanish Essentials For Dummies.pdf");
List < File > flist = new ArrayList < > ();
for (String str: s) {
File newFile = new File("C:\\Users\\Spanish Training\\" + str);
if (newFile.exists()) {
flist.add(newFile);
}
}
System.out.println(flist);
}
}
输出:“C:\Users\Spanish Training\AulaIternational.pdf, C:\Users\Spanish Training\Spanish Essentials For Dummies.pdf”
我的问题:是否可以使用 file.listfile(Filter) 简化相同的事情,或者我正在做正确的事情?
解决方案
不会简化太多,但看起来更具可读性
List<File> flist = Arrays.asList(new File("C:\\Users\\Spanish Training\\").listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return s.contains(name);
}}));
推荐阅读
- android - 可以使用for循环增加字符串的数量吗?安卓工作室
- java - 休眠条件:关系“my_table”不存在
- ios - 是否可以在 ios 上读取 NFC 芯片的 Uid?
- arrays - mongodb 在数组中发送用户 ID 作为查询并返回集合中存在的用户的 json 对象
- vue.js - 在 vue 我对数据库和生命周期有疑问
- android - setTextColor 可编程使用颜色值
- plugins - Flutter 包仅适用于条带插件
- regex - 将索引增加 1 - 将 C 中的代码转换为 MATLAB
- github - GitHub 铅笔(编辑)按钮消失
- javascript - 如何读取 API 文档中的函数参数?