如何过滤文件数组以将PDF文件分配给数组? 什么我试图完成一些伪代码:用Java过滤文件数组
File [] files; //this contains [3] array items
files.filter(pdf); //??
System.out.println("PDF only files:" files);
如何过滤文件数组以将PDF文件分配给数组? 什么我试图完成一些伪代码:用Java过滤文件数组
File [] files; //this contains [3] array items
files.filter(pdf); //??
System.out.println("PDF only files:" files);
如果你的PDF文件,.pdf
结束了,你可以在名字只过滤:
List<File> pdfs = new ArrayList<>();
for(File f : files) {
if(f.getName().toLowerCase().endsWith(".pdf")) {
pdfs.add(f);
}
}
File dir = new File("/your/dir");
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".pdf");
}
});
你可以使用lambda来做这件事。 – 2015-01-31 22:54:44
'File [] files = dir.listFiles((dir,name) - > name.toLowerCase()。endsWith(“。pdf”))'(我喜欢单行解决方案) – 2015-01-31 22:56:14
@ArnaudDenoyelle这只是Java 8,虽然 – Dave 2015-01-31 22:59:12
如果您使用Apache Commons
,您还可以使用SuffixFileFilter
File[] files = directory.listFiles(
(FileFilter) new SuffixFileFilter(".pdf", IOCase.INSENSITIVE));
您是否尝试过使用for for循环? – 2015-01-31 22:52:23