查找目录中文件的名称
问题描述:
我以可序列化的形式将对象导出到包含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
,但它需要分别为每个文件组调用列表。
答
你可以使用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());
感谢。有没有一种方法可以访问主java目录中的文件,而无需输入指定的路径?只有我想保持这个平*立... – 2012-03-04 15:00:51
你可以使用'new File(“./ src”).list();'例如,获取/ src目录的内容。 – 2012-03-04 15:06:58