【问题标题】:Need to list files under a specific folder in a main folder using java需要使用java列出主文件夹中特定文件夹下的文件
【发布时间】:2014-03-11 08:59:30
【问题描述】:

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

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

【问题讨论】:

  • 您遇到了什么具体问题以及您是如何尝试解决的?您的实际结果与预期结果有何不同?
  • 我看到你已经编辑了你的帖子。你有什么问题?你有问题吗?请参阅stackoverflow.com/help/how-to-ask
  • 您想只保留“已完成作业”中的文件,还是保留“已完成作业”中的所有文件?
  • 我需要获取已完成作业文件夹中的所有文件....
  • 好的,所以我假设您还想要已完成作业的子文件夹中的文件?否则,我看不出为什么你的代码还没有按照你的要求做。

标签: java file directory


【解决方案1】:

documentation for File.listFiles

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多