# BufferedWriter
# Write a line of text to File
This code writes the string to a file. It is important to close the writer, so this is done in a finally block.
public void writeLineToFile(String str) throws IOException {
File file = new File("file.txt");
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file));
bw.write(str);
} finally {
if (bw != null) {
bw.close();
}
}
}
Also note that write(String s) does not place newline character after string has been written. To put it use newLine() method.
Java 7 adds the java.nio.file (opens new window) package, and try-with-resources (opens new window):
public void writeLineToFile(String str) throws IOException {
Path path = Paths.get("file.txt");
try (BufferedWriter bw = Files.newBufferedWriter(path)) {
bw.write(str);
}
}
# Syntax
- new BufferedWriter(Writer); //The default constructor
- BufferedWriter.write(int c); //Writes a single character
- BufferedWriter.write(String str); //Writes a string
- BufferedWriter.newLine(); //Writes a line separator
- BufferedWriter.close(); //Closes the BufferedWriter
# Remarks
- If you try to write from a
BufferedWriter(usingBufferedWriter.write()) after closing theBufferedWriter(usingBufferedWriter.close()), it will throw anIOException. - The
BufferedWriter(Writer)constructor does NOT throw anIOException. However, theFileWriter(File)constructor throws aFileNotFoundException, which extendsIOException. So catchingIOExceptionwill also catchFileNotFoundException, there is never a need for a second catch statement unless you plan on doing something different with theFileNotFoundException.