I have always been slightly confused with the amount of different IO implementations in Java, and now that I am completely stuck in my project development, I was taking my time
You can create an appending PrintWriter like this:
PrintWriter
OutputStream os = new FileOutputStream("/tmp/out", true); PrintWriter writer = new PrintWriter(os);
Edit: Anon's post is right about both using a BufferedWriter in between and specifying the encoding.
BufferedWriter