2012-03-04 165 views
0

我以可序列化的形式將對象導出到包含src,構建文件的目錄。有一些組共享其文件名的開頭,例如查找目錄中文件的名稱

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

我需要製作一個所有組的數組列表,因此在這種情況下是一個包​​含休息室和餐廳的數組。任何人都可以幫忙嗎?

回答

0

有方法File.list(),它會給你一個目錄中所有文件名的列表。循環訪問該列表,並從每個文件名中提取前綴,然後將它們放入一個集合中。

0

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

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()); 
相關問題