Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中添加记录和自动排序顺序文件?_Java_File_Add_Record_Sequential - Fatal编程技术网

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

如何在java中添加记录和自动排序顺序文件?,java,file,add,record,sequential,Java,File,Add,Record,Sequential,我需要按顺序添加记录和自动排序记录数据 现在我按顺序将记录添加到文件中,但尚未排序。 我的记录是具有订单号的TrainData对象 示例 我加上3次列车 然后添加1号列车 我希望在将记录添加到文件时将其排序为1,然后再排序为3 有人知道怎么做吗?请帮忙 谢谢将所有记录存储在列表中,使用对列表进行排序,然后遍历列表并将每条记录写入文件 或者像现在这样读每一张唱片。在每次迭代中,如果新记录尚未写入,则将当前记录与新记录进行比较,如果大于新记录,则写入新记录,然后写入当前记录。在循环结束时,如果新记录

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

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

谢谢

将所有记录存储在
列表中
,使用对列表进行排序,然后遍历列表并将每条记录写入文件

或者像现在这样读每一张唱片。在每次迭代中,如果新记录尚未写入,则将当前记录与新记录进行比较,如果大于新记录,则写入新记录,然后写入当前记录。在循环结束时,如果新记录尚未写入,则将其写入

public void addTrainRecords(TrainData t){

    OpenFile();

    TrainData current = null;
    current = readRecord();

    while(current != null){

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



    //closeFile();
}
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);
}