查找目录中文件的名称

问题描述:

我以可序列化的形式将对象导出到包含src,构建文件的目录。有一些组共享其文件名的开头,例如查找目录中文件的名称

lounge - 1,0 
lounge - 2,4 
dining room - 3,5 
dining room - 4,6 
dining room 5,2 

我需要制作一个所有组的数组列表,因此在这种情况下是一个包​​含休息室和餐厅的数组。任何人都可以帮忙吗?

有方法File.list(),它会给你一个目录中所有文件名的列表。循环访问该列表,并从每个文件名中提取前缀,然后将它们放入一个集合中。

new File(dir).list()返回包含目录中所有文件的数组。 然后,您可以遍历数组并检查如下内容: file.getName().startsWith()

您还可以在拨打list()时使用FileFilter,但它需要分别为每个文件组调用列表。

+0

感谢。有没有一种方法可以访问主java目录中的文件,而无需输入指定的路径?只有我想保持这个平*立... – 2012-03-04 15:00:51

+0

你可以使用'new File(“./ src”).list();'例如,获取/ src目录的内容。 – 2012-03-04 15:06:58

你可以使用File.list()的文件列表,然后通过添加名称为HashSet,像这样产生独特的前缀列表:

String[] fileList = new File("./src").list(); 
HashSet hset = new HashSet(); 
for(String s : fileList){ 
    hset.add(s.substring(0,s.length()-6));// assumes all names follow this pattern... 
} 
System.out.println(hset.toString());