Reputation: 5671
I try to list all the files from a folder and its subdirectories to be uploaded one by one. It couldn't list files from subfolders of folder, just uses files from same folder multiple times.
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++;
}
}
Upvotes: 0
Views: 106
Reputation: 145
You can also use the "Tree" :
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;
}
}
see more here The doc is in french but you may find what you need.
Upvotes: 1
Reputation: 1450
Replace:
listFilesAndFilesSubDirectories(file.getParent());
with:
listFilesAndFilesSubDirectories(file.getAbsolutePath());
Upvotes: 2