How do I append data with this snippet of code? Data is always being overwritten each time I run the 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();
}
Before you write, seek
to the end of the file; first call length
. I'd also prefer a try-with-resources
. Like,
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();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With