Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

replace text in a file with new text

 
kotha vijaybabu
Ranch Hand
Posts: 77
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi ranchers
i want to replace a text in a file with new text
how can i do it

thanx in advance

vijay
 
Eiji Seki
Ranch Hand
Posts: 88
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Animesh Saxena
Ranch Hand
Posts: 62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Use RandomAccessFile..API

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
 
Barry Gaunt
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, let's do this in Java In General (Beginner)
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 Reply
  • Bookmark Topic Watch Topic
  • New Topic