设置<>仅保留上次文件夹值

时间:2018-03-04 01:27:15

标签: java netbeans

我使用以下代码生成文件夹中的文件夹和文件列表,我想获得一个唯一扩展列表。通过扩展,我可以在最后一次"之后对任何内容进行分类。"在文件字符串中。我有下面的代码,它将生成一个完整的文件夹结构列表,但似乎只生成迭代的最后一个目录的扩展。

如何解决这个问题,以便将所有扩展程序添加到我的列表中?

   Set<String> getExt;

public void showFiles(File[] files) {
    for (File file : files) {            
        if (file.isDirectory()) {
            System.out.println("Directory: " + file.getName());
            showFiles(file.listFiles()); 
        } else { 
            System.out.println("File: " + file.getName());
            getExt = new HashSet<String>();
            for (File f: files) {
              getExt.add(f.getName().substring(f.getName().lastIndexOf(".") + 1));
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

你继续在循环中创建一个新的HashSet,丢弃前一个。{1}}。将getExt的声明更改为:

Set<String> getExt = new HashSet<String>();

然后删除

        getExt = new HashSet<String>();