我需要获取“已完成的作业”文件夹下的所有文件,我的主要级别是“作业”,我想过滤“已完成的作业”文件夹下的所有文件
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;
}
答案 0 :(得分:0)
请参阅documentation for File.listFiles。
请注意,listFiles将为您提供文件和文件夹,因为文件夹只被视为不同类型的文件。如果您只想要文件而不是文件夹,请使用isFile() method。
要获取文件夹和所有子文件夹中的所有文件,您可以(1)将文件夹添加到列表,将文件添加到另一个列表(并在查看完文件后从文件夹列表中删除文件夹),以及(2)对于每个文件夹,直到文件夹列表为空。
您还可以give a file filter to the listFiles method,然后创建一个允许通过文件的过滤器和一个允许通过文件夹的过滤器。但是,对于这样一个简单的问题,可能会比实用更令人困惑。