2012-02-26 30 views
1
public void addTrainRecords(TrainData t){ 

    OpenFile(); 

    TrainData current = null; 
    current = readRecord(); 

    while(current != null){ 

     current = readRecord(); 
    } 
    writeRecord(t); 



    //closeFile(); 
} 

我需要添加記錄和自動排序記錄數據的順序 現在我順序添加記錄到文件,但尚未排序。 我的記錄是TrainData的對象,它具有順序號

例如
我想補充的列車車次3
再加入車次1
我希望它排序爲1,則3中,而記錄添加到文件
任何人都知道該怎麼辦呢?請幫助
感謝如何在java中添加記錄和自動排序順序文件?

回答

0

存儲所有記錄在一個List<TrainData>,排序使用Collections.sort()列表,然後遍歷列表和寫入每個記錄到文件中。

或者您現在正在閱讀每條記錄。在每次迭代時,如果新記錄尚未寫入,則將當前記錄與新記錄進行比較,如果大於新記錄,則寫入新記錄,然後寫入當前記錄。在循環結束時,如果新記錄尚未寫入,請將其寫入。

TrainData current = null; 
boolean newRecordWritten = false; 
for (current = readRecord(); current != null; current = readRecord()) { 
    if (!newRecordWritten && firstBiggerThanSecond(current, t)) { 
     writeRecord(t); 
     newRecordWritten = true; 
    } 
    writeRecord(current); 
} 

if (!newRecordWritten) { 
    writeRecord(t); 
}