2013-01-25 52 views
0

我想通過從文件中讀取對象來實例化一個對象(跑步者)數組。有六個不同的變量描述每個人。我想弄清楚如何創建一個數組,它將所有這些跑步者的相同值存儲在同一個元素中,同時保持每個跑步者的各個部分。使用多個元素實例化一個數組JAVA

文件看起來是這樣的:

{1,Gebre Gebremariam,2:08:00,,Ethiopia,ETH 
2,Emmanuel Mutai,2:06:28,,Kenya,KEN 
3,Geoffrey Mutai,2:05:06,,Kenya,KEN 
4,Tsegaye Kebede,2:07:14,,Ethiopia,ETH 
6,Jaouad Gharib,2:08:26,,Morocco,MAR 
7,Meb Keflezighi,2:09:13,CA,United States,USA 
8,Mathew Kisorio,2:10:58,,Kenya,KEN 
10,Viktor Rothlin,2:12:26,,Switzerland,SUI 
11,Bobby Curtis,2:16:44,PA,United States,USA 
12,Ed Moran,2:11:47,VA,United States,USA 
14,Abdellah Falil,2:10:35,,Morocco,MAR 
15,Juan Luis Barrios,2:14:10,,Mexico,MEX 
18,Stephen Muzhingi,2:29:10,,Zimbabwe,ZIM} 
+0

查閱java序列化。 – dasblinkenlight

+0

@dasblinkenlight:這聽起來像是一項家庭作業。 OP可能還沒有學過序列化。 –

+0

什麼樣的文件? CSV? XML? JSON? Java序列化二進制文件? – Thilo

回答

1

創建一個類Runner它可以對六個字段組成個人亞軍屬性,然後讀你的文件轉換成List<Runner>Runner[]

// if this is a CSV file 
List<Runner> runners = new ArrayList<Runner>(); 
for (String[] line: csvLines){ 
    Runner r = new Runner(); 
    r.setName(line[0]); 
    r.setAge(Integer.parseInt(line[1]); 
    runners.add(r); 
} 
+0

以下是適用於Java的CSV庫列表:http://stackoverflow.com/questions/101100/csv-api-for-java – Thilo

0

下面將一個Runner實例添加到一個ArrayList中。您可能需要解析字符串以提供適當的構造函數參數。

List<Runner> runners = new ArrayList<Runner>(); 

BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); 
String currentLine; 

for(int index = 0; (currentLine = bufferedReader.readLine()) != null; index++) 
{ 
    runners.add(new Runner(currentLine)); 
} 

bufferedReader.close(); 
相關問題