appending data in a file

Hello people
Well i want to periodically write to a file basically its a log file that is constantly updated from time to time but i dont want the file to be overwritten rather i want to update the file like each time the file is opened for the WRITE operation i should start from the end of FILE and then write the DATA in other words i want to APPEND data to this file is there any way i can do that in JAVA please help me out

Thanks in advance
Asif Iqbal
asifiqbal2kAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

grim_toasterCommented:
I would suggest looking into the API documents as the first port of call, in particular the java.io package.

The class FileWriter is probably the one you're after, but look into the API's for full details, as learning how to read the API's is one of the most important things you can do!  And you should have a general knowledge of certain areas, i.e. java.util, java.lang and java.io, I'm sure there are other important areas also, but these are a good starting point.
0
TolsCommented:
Appending to a file can be done this way (I use this in my own logging library):

BufferedWriter logWriter = new BufferedWriter(file, true);
logWriter.write(buf);
logWriter.close();
0
TolsCommented:
A little correction:
BufferedWriter logWriter = new BufferedWriter(new FileWriter(file, true));
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

asifiqbal2kAuthor Commented:
Hello people
Well i want to periodically write to a file basically its a log file that is constantly updated from time to time but i dont want the file to be overwritten rather i want to update the file like each time the file is opened for the WRITE operation i should start from the end of FILE and then write the DATA in other words i want to APPEND data to this file is there any way i can do that in JAVA please help me out

Thanks in advance
Asif Iqbal
0
lwinkenbCommented:
Tols comment correctly answers your question.
BufferedWriter logWriter = new BufferedWriter(new FileWriter(file, true));
0
lwinkenbCommented:
The true parameter pasted to the FileWriter means you are opening the file to append.
0
asifiqbal2kAuthor Commented:
well ok now one more problem now what i want to do is write data to file by specifying a position like i want to write DATA to a particular location in the FILE is there any way to that.
0
lwinkenbCommented:
Only if you want to overwrite the data that's already there.  There is no way to insert data at a particular point without overwriting data though.  What you need to do is read the entire file contents into memory (into a String or a StringBuffer), then insert the text you want into the string or string buffer.  Then write that back onto the file.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.