Maybe you should try the Java in General Forum. 1) Work in memory and then write the file using DataOutput, OutputStream or Writer. 2) Directly into the file using RandomAccessFile.
If what you really want is to look for text to replace, (the question is a bit too simple) try the regular expression feature.
ps. c'mon, let's try searching the Javadoc or even google, plz. [ March 21, 2006: Message edited by: Eiji Seki ]
if ur Field Lengths are constant use a standard offset to move through records....using skipBytes method in RandomAccessFile. Then just write the bytes. using writeBytes() method
The times that RandomAccessFile will work for you are few and far between. You can only replace old content with new content of exactly the same length. Ok, it is possible to shift data around to accomodate length changes, but the complexity is high and the performance is questionable.
It's a lot more likely that you'll read the entire file, pass most content unchanged to a new file, identify and modify some content before writing it to the new file. Or if the size is manageable, read the entire file into memory, work on it in memory for a while, then rewrite the entire file.
Here's a favorite trick for rewriting a file that assures you always have a safe copy of the old and/or new data:
read original write temp rename original to backup rename temp to original erase backup
Post by:autobot
And will you succeed? Yes you will indeed! (98 and 3/4 % guaranteed) - Seuss. tiny ad:
a bit of art, as a gift, that will fit in a stocking