簡體   English   中英

列出給定文件夾中的文件和子目錄文件

[英]List files and files of subdirectories from a given folder

我嘗試列出一個文件夾及其子目錄中的所有文件,以一張一張地上傳。 它無法列出文件夾的子文件夾中的文件,而僅使用同一文件夾中的文件多次。

    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++;
        }
    }

更換:

listFilesAndFilesSubDirectories(file.getParent());

與:

listFilesAndFilesSubDirectories(file.getAbsolutePath());

您也可以使用“樹”:

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;

}

}

在此處查看更多信息該文檔為法文,但您可能會找到所需的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM