问题
I am trying to write a java function that will change 1 byte in a large file. How can I read in and write to a specific address in a file with java on android? I have tried fis.read(byte b[], int off, int len) and I get a force close every time.
回答1:
Use RandomAccessFile.
Kickoff example:
RandomAccessFile raf = new RandomAccessFile(file, "rw");
try {
raf.seek(5); // Go to byte at offset position 5.
raf.write(70); // Write byte 70 (overwrites original byte at this offset).
} finally {
raf.close(); // Flush/save changes and close resource.
}
来源:https://stackoverflow.com/questions/4576388/changing-a-specific-byte-in-a-file