[英]How do I scan a folder in Java?
我需要在Java中掃描一個特定的文件夾,並能夠返回特定類型的整數個文件(不僅基於擴展名,還基於命名約定。)例如,我想知道有多少個JPG文件\\ src文件夾有一個簡單的整數文件名(例如,1.JPG到30.JPG)。 誰能指出我正確的方向? 謝謝
java.io.File.list(FilenameFilter)
是您正在尋找的方法。
我有一個方法,使用正則表達式模式來處理相當復雜的文件結構。 可以使用類似的東西,雖然我確信它可以比我的例子(為了安全而編輯)更簡潔。
/**
* Get all non-directory filenames from a given foo/flat directory
*
* @param network
* @param typeRegex
* @param locationRegex
* @return
*/
public List<String> getFilteredFilenames(String network, String typeRegex, String locationRegex) {
String regex = null;
List<String> filenames = new ArrayList<String>();
String directory;
// Look at the something network
if (network.equalsIgnoreCase("foo")) {
// Get the foo files first
directory = this.pathname + "/" + "foo/filtered/flat";
File[] foofiles = getFilenames(directory);
// run the regex if need be.
if (locationRegex != null && typeRegex != null ) {
regex = typeRegex + "." + locationRegex;
//System.out.println(regex);
}
for (int i = 0; i < foofiles.length; i++) {
if (foofiles[i].isFile()) {
String file = foofiles[i].getName();
if (regex == null) {
filenames.add(file);
}
else {
if (file.matches(regex)) {
filenames.add(file);
}
}
}
}
}
return filenames;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.