Список файлов и файлов подкаталогов из заданной папки - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь перечислить все файлы из папки и ее подкаталогов для загрузки по одному.Он не может перечислить файлы из подпапок папки, просто использует файлы из одной и той же папки несколько раз.

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

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вы также можете использовать «Дерево»:

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;

}

}

узнать больше здесь Документ на французском, но вы можете найти то, что вам нужно.

0 голосов
/ 10 октября 2018

Заменить:

listFilesAndFilesSubDirectories(file.getParent());

на:

listFilesAndFilesSubDirectories(file.getAbsolutePath());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...