Ensure the destination file is UTF-8 encoded.
Hide out the PrintStream, and ensure it's flushed before being closed
down.
Also avoid closing System.out if it was the original destination.