如何過濾文件數組以將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