Java uses the following classes for output:

  • FileWriter
  • PrintWriter

Output via FileWriter

FileWriter is a low level file writer, similar to FileReader, but for writing Characters. It has methods write() and append() for writing and appending to files:

import java.io.FileWriter;
 
FileWriter wr = new FileWriter("test.txt");
//Writing a single character
wr.write('a');
char charr[] = {'h', 'i'};
//Method overload, writing a character array
wr.write(charr);
String str = "Hi!";
//Method overload, writing a String
wr.write(str);
 
//Stops writing, file is free to be used.
wr.close();

Output via PrintWriter

PrintWriter is a more advanced FileWriter, that allows writing formatted strings. It uses methods print(), println() and format()

print() is especially important because, unlike write(), it converts all it’s arguments into Strings before outputting them.

print(65); //Converts 65 to "65" and prints
write(65); //Converts 65 to ASCII value (A) and prints

outputs:

65
A