找出目录中文件的名称

时间:2012-03-04 14:26:35

标签: java file-io

我将可序列化形式的对象导出到包含src,build文件的目录中。有些组共享文件名的开头,例如

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

我需要制作一个包含所有组的数组列表,所以在本例中是一个包含休息室和餐厅的数组。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

方法File.list(),它将为您提供目录中所有文件名的列表。循环遍历此列表,并从每个文件名中提取前缀,将它们放入集合中。

答案 1 :(得分:0)

new File(dir).list()返回包含目录中所有文件的数组。 然后你可以迭代数组并检查如下: file.getName().startsWith()

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

答案 2 :(得分:0)

您可以使用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());