需要使用java列出主文件夹中特定文件夹下的文件

时间:2014-03-11 08:59:31

标签: java file directory

我需要获取“已完成的作业”文件夹下的所有文件,我的主要级别是“作业”,我想过滤“已完成的作业”文件夹下的所有文件

  http://192.168.0.19/svn/cadgraf/Branch/Jobs
     user1
    Active
    Completedobs

 user2
    Active
    Completedjobs

 user3
    Active
    CompletedJobs

我用它来查找作业文件夹中的所有文件:

   public File[] listf(String directoryName) throws IOException {
    File directory = new File(directoryName);
    File[] fList = directory.listFiles();
    for (File file : fList) {
        try {
            if (file.isFile() && file.getName().contains(".xml")) {
                fileNameList.addElement(file.getName());
                files.add(file);
                l_storieslist.setModel(fileNameList);

            } else if (file.isDirectory()) {
                listf(file.getAbsolutePath());
            }
        } catch (Exception ex) {
            ex.getStackTrace();
        }
    }
    return fList;
}

1 个答案:

答案 0 :(得分:0)

请参阅documentation for File.listFiles

请注意,listFiles将为您提供文件和文件夹,因为文件夹只被视为不同类型的文件。如果您只想要文件而不是文件夹,请使用isFile() method

要获取文件夹和所有子文件夹中的所有文件,您可以(1)将文件夹添加到列表,将文件添加到另一个列表(并在查看完文件后从文件夹列表中删除文件夹),以及(2)对于每个文件夹,直到文件夹列表为空。

您还可以give a file filter to the listFiles method,然后创建一个允许通过文件的过滤器和一个允许通过文件夹的过滤器。但是,对于这样一个简单的问题,可能会比实用更令人困惑。