Java. How to append text to top of file.txt -
this question has answer here:
- writing in beginning of text file java 5 answers
i need add text beggining of text file via java.
for example have test.txt file data:
peter john alice
i need add(to top of file):
jennifer
it should be:
jennifer peter john alice
i have part of code, append data end of file, need make added text top of file:
public static void irasymas(string irasymai){ try { file file = new file("src/lt/test.txt"); if (!file.exists()) { file.createnewfile(); } filewriter fw = new filewriter(file.getabsolutefile(), true); bufferedwriter bw = new bufferedwriter(fw); bw.write(irasymai+ "\r\n"); bw.close(); } catch (ioexception e) { e.printstacktrace(); } }
i have tried this, deletes data file , not insert text:
public static void main(string[] args) throws ioexception { bufferedreader reader = null; bufferedwriter writer = null; arraylist list = new arraylist(); try { reader = new bufferedreader(new filereader("src/lt/test.txt")); string tmp; while ((tmp = reader.readline()) != null) list.add(tmp); outil.closereader(reader); list.add(0, "start text"); list.add("end text"); writer = new bufferedwriter(new filewriter("src/lt/test.txt")); (int = 0; < list.size(); i++) writer.write(list.get(i) + "\r\n"); } catch (exception e) { e.printstacktrace(); } { outil.closereader(reader); outil.closewriter(writer); } }
thank help.
you can use randomaccessfile , seek cursor 0th
position using seek(long position)
method, before starting write.
as explained in this thread
randomaccessfile f = new randomaccessfile(new file("yourfile.txt"), "rw"); f.seek(0); // beginning f.write("jennifer".getbytes()); f.close();
edit: pointed out below many comments, solution overwrites file content beginning. replace content, file may have deleted , re-written.
Comments
Post a Comment