Write to the end of a fileTag(s): IO
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class AppendToFile { public static void main(String[] args) throws IOException { Path path = Paths.get("c:/temp/output.txt"); if (Files.exists(path)) { Files.write(Paths.get("c:/temp/output.txt"), "Hello World\n".getBytes(), StandardOpenOption.APPEND); } else { Files.write(Paths.get("c:/temp/output.txt"), "Hello World\n".getBytes(), StandardOpenOption.CREATE_NEW); } } }
[JDK1.1]
import java.io.FileOutputStream; import java.io.IOException; public class AppendToFile { public static void main(String[] args) throws IOException { FileOutputStream fos = null; try { // open in append mode if it exists, if not create a new file fos = new FileOutputStream("c:/temp/output.txt", true); fos.write("Hello World\n".getBytes()); } finally { if (fos !=null) { fos.close(); } } } }
[JDK1.0.2]
import java.io.*; public class appendtext { public static void main(String args[]){ try { PrintStream out = new PrintStream(new AppendFileStream("myfile")); out.print("A new line of text"); out.close(); } catch(Exception e) { System.out.println(e.toString()); } } } class AppendFileStream extends OutputStream { RandomAccessFile fd; public AppendFileStream(String file) throws IOException { fd = new RandomAccessFile(file,"rw"); fd.seek(fd.length()); } public void close() throws IOException { fd.close(); } public void write(byte[] b) throws IOException { fd.write(b); } public void write(byte[] b,int off,int len) throws IOException { fd.write(b,off,len); } public void write(int b) throws IOException { fd.write(b); } }