The BufferedWriter class of java.io package, writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.
The buffer size may be specified, or the default size may be accepted. The default is large enough for most purposes. Always take into consideration of this rule to avoid complications in using the BufferedWriter class.
A newLine() method is provided, which uses the platform’s own notion of line separator as defined by the system property line.separator. Take into consideration that not all platforms use the newline character (‘n’) to terminate lines. Because of such case, calling this method to terminate each output line is therefore preferred to writing a newline character directly.
In general, a Writer sends its output immediately to the underlying character or byte stream. Unless prompt output is required, it is advisable to wrap a BufferedWriter around any Writer whose write() operations may be costly, such as FileWriters and OutputStreamWriters.
If you are looking for class to be used to write to a file, as a general practice BufferedWriter is being used actively because the method available are user friendly.