当前位置:首页 > 操作系统 > MacOs

java-如何附加到RandomAccessFile?每次我运行这段代码,数据都会被覆盖

如何使用此代码段附加数据?每次我运行代码时,数据总是被覆盖.

<code>    try{
        RandomAccessFile fileWriter = new RandomAccessFile("Officers.txt", "rw");

        fileWriter.writeUTF(officerObject.getOfficerBadgeNum());
        fileWriter.writeUTF(officerObject.getOfficerFirstName());
        fileWriter.writeUTF(officerObject.getOfficerLastName());
        fileWriter.writeUTF(officerObject.getOfficerPrecint());

        fileWriter.close();
        System.out.println("Data Successfully Saved");
    }
    catch (IOException e) {
        System.out.println("Error in File. Could not SAVE Officer");
        e.printStackTrace();
    }
</code>

解决方法:

写入之前,将seek保留到文件末尾;首先拨打length.我也希望拨打try-with-resources.例如,

<code>try (RandomAccessFile fileWriter = new RandomAccessFile("Officers.txt", "rw")) {
    fileWriter.seek(fileWriter.length());
    fileWriter.writeUTF(officerObject.getOfficerBadgeNum());
    fileWriter.writeUTF(officerObject.getOfficerFirstName());
    fileWriter.writeUTF(officerObject.getOfficerLastName());
    fileWriter.writeUTF(officerObject.getOfficerPrecint());
    System.out.println("Data Successfully Saved");
} catch (IOException e) {
    System.out.println("Error writing File. Could not SAVE Officer");
    e.printStackTrace();
}
</code>

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐