可以提供一個我函數,不過一個路徑下怎會有相同文件名呢﹖
public ArrayList listDir(String path_str) {
File path = new File(path_str);
ArrayList dir_array=new ArrayList();
String[] list;
list = path.list();
if (list != null) {
for (int j = 0; j < list.length; j++) {
String absolutePath = path.getAbsolutePath();
absolutePath = absolutePath + list[j];
dir_array.add(absolutePath);
}
}
return dir_array;
}
public ArrayList listDir(String path_str) {
File path = new File(path_str);
ArrayList dir_array=new ArrayList();
String[] list;
list = path.list();
if (list != null) {
for (int j = 0; j < list.length; j++) {
String absolutePath = path.getAbsolutePath();
absolutePath = absolutePath + list[j];
dir_array.add(absolutePath);
}
}
return dir_array;
}
我那個方法不行嗎﹖
如果有子目录的话,就需要写一个递归到每一层目录去找.
我想你可能搞錯了。要是有也應該表示相對路徑吧
long value = 0;
if (!directory.exists()) {
String message = "directory not exists";
throw new FileNotFoundException(message);
}
File[] files = directory.listFiles();
for(int i = 0;i<files.length;i++) {
if (files[i].isFile()) {
value++;
}
else if(files[i].isDirectory()) {
value += getFileCount(files[i]);
}
}
return value;
}