我尝试列出一个文件夹及其子目录中的所有文件,以一张一张地上传。它无法列出文件夹子文件夹中的文件,而仅使用同一文件夹中的文件多次。
int num=1;
public void listFilesAndFilesSubDirectories(String directoryName) throws InterruptedException {
File directory = new File(directoryName);
File[] fList = directory.listFiles();
Arrays.sort(fList);
String filestatus;
for (File file : fList){
if (file.isFile() && !(file.getName().contains("nfo"))){
int index = file.getName().lastIndexOf("_");
if(index <= 0){
filestatus="INVALID";
}else{
filestatus = file.getName().substring(0, index);
}
} else if (file.isDirectory()){
listFilesAndFilesSubDirectories(file.getParent());
}
num++;
}
}
答案 0 :(得分:2)
替换:
listFilesAndFilesSubDirectories(file.getParent());
具有:
listFilesAndFilesSubDirectories(file.getAbsolutePath());
答案 1 :(得分:1)
您也可以使用“树”:
private DefaultMutableTreeNode listFile(File file, DefaultMutableTreeNode node){
int count = 0;
if(file.isFile())
return new DefaultMutableTreeNode(file.getName());
else{
File[] list = file.listFiles();
if(list == null)
return new DefaultMutableTreeNode(file.getName());
for(File nom : list){
count++;
//not more than 5 childs node
if(count < 5){
DefaultMutableTreeNode subNode;
if(nom.isDirectory()){
subNode = new DefaultMutableTreeNode(nom.getName()+"\\");
node.add(this.listFile(nom, subNode));
}else{
subNode = new DefaultMutableTreeNode(nom.getName());
}
node.add(subNode);
}
}
return node;
}
}
查看更多here 该文档使用法语,但您可能会找到所需的文档。