2013-02-14 49 views
0

我有一個包含40個名稱的txt文件。每個名字都在自己的路線上。此方法應該取每個名稱並將其放入一個由4個元素組成的數組中,然後使用另一個方法將該數組寫入另一個txt文件。從txt文件讀取到單個數組 - Java

我的問題是列表中的每個第四個名字以某種方式結束爲空,並且我的輸出txt文件以10行和每行中的第四個元素爲空結束。

我在下面提供了代碼和示例I/O。提前致謝!

採樣輸入

Emily 
Reba 
Emma 
Abigail 
Jeannie 
Isabella 
Hannah 
Samantha 

我的方法

public static void fillArray(String[] player ,String[] team, BufferedReader br) throws IOException{ 
    String line; 
    int count = 0; 

    while((line = br.readLine()) != null){ 
    if(count < 3){ 
     player[count] = line; 
     count++; 
    } 
    else{ 
     count = 0; 
     writeFile(player); 
    } 
    } 
    br.close(); 

}

樣本輸出

Emily Reba Emma null 
Jeannie Isabella Hannah null 
+1

什麼是你的'writeFile()'和你在哪裏調用'fillArray()'? – 2013-02-14 03:21:42

+0

爲什麼當'count <3'時停下來?該塊將僅用當前編碼執行3次。 – Jon 2013-02-14 03:22:37

+0

我確定您在印刷時正在做一些額外的索引值! – sunleo 2013-02-14 03:26:25

回答

2

你的邏輯是不正確。 player[3]從不設置,下一個循環最終讀取一行而不將其存儲到數組中。使用這個:

public static void fillArray(String[] player ,String[] team, BufferedReader br) throws IOException{ 
    String line; 
    int count = 0; 

    while((line = br.readLine()) != null){ 
    player[count] = line; 
    count++; 
    if (count == 4) { 
     count = 0; 
     writeFile(player); 
    } 
    } 
+0

感謝您的輸入。這完美地解決了它!我傾向於有時想。 – billabrian6 2013-02-14 03:33:44