如何在java中添加记录和自动排序顺序文件?

时间:2012-02-26 14:08:48

标签: java file add record sequential

public void addTrainRecords(TrainData t){

    OpenFile();

    TrainData current = null;
    current = readRecord();

    while(current != null){

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



    //closeFile();
}

我需要按顺序添加记录和自动排序记录数据 现在我按顺序添加记录到文件但尚未排序。 我的记录是TrainData的一个对象,它有一个订单号

示例       
我加上3号列车
然后加上1号列车 我希望在将记录添加到文件时将其排序为1然后3
谁知道怎么做?,请帮忙
谢谢

1 个答案:

答案 0 :(得分: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);
}