Java Tutorial/File/BufferedWriter
Содержание
- 1 Appending to a File
- 2 BufferedWriter
- 3 Create BufferedWriter from FileWriter
- 4 Nested creation of FileWriter, BufferedWriter and PrintWriter
- 5 Read Input From User and Write to File
- 6 Use a BufferedReader and a BufferedWriter to copy a text file, inverting the case of letters in the process
- 7 Write to file using a BufferedWriter
- 8 Writing to a File: If the file does not exist, it is automatically created.
Appending to a File
<source lang="java">
import java.io.BufferedWriter; import java.io.FileWriter; public class Main {
public static void main(String[] argv) throws Exception { BufferedWriter out = new BufferedWriter(new FileWriter("filename", true)); out.write("aString"); out.close(); }
}</source>
BufferedWriter
You can rap your Writer with a BufferedWriter for better performance. BufferedWriter has the following constructors:
<source lang="java">
public BufferedWriter (Writer writer) public BufferedWriter (Writer writer, in bufferSize)</source>
Create BufferedWriter from FileWriter
<source lang="java">
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.EOFException; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringReader; public class MainClass {
public static void main(String[] args) throws IOException { try { BufferedReader in4 = new BufferedReader(new StringReader("asdf")); PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("IODemo.out"))); int lineCount = 1; String s = null; while((s = in4.readLine()) != null ) out1.println(lineCount++ + ": " + s); out1.close(); } catch(EOFException e) { System.err.println("End of stream"); } }
}</source>
Nested creation of FileWriter, BufferedWriter and PrintWriter
<source lang="java">
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.PrintWriter; public class Main {
public static void main(String[] argv) throws Exception { FileWriter file = new FileWriter("a.html"); BufferedWriter buffer = new BufferedWriter(file); PrintWriter out = new PrintWriter(buffer); out.println("<html>\n\t<body>"); out.println("\t</body>\n</html>"); out.close(); buffer.close(); file.close(); }
}</source>
Read Input From User and Write to File
<source lang="java">
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.InputStream; public class Main {
public static void main(String[] args) throws Exception { InputStream in = System.in; BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt")); int letter; while ((letter = in.read()) != -1) { bw.write((char) letter); bw.flush(); } }
}</source>
Use a BufferedReader and a BufferedWriter to copy a text file, inverting the case of letters in the process
<source lang="java">
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; public class Main {
public static void main(String[] argv) throws Exception { BufferedReader br = new BufferedReader(new FileReader("in.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("out.txt")); int i; do { i = br.read(); if (i != -1) { if (Character.isLowerCase((char) i)) bw.write(Character.toUpperCase((char) i)); else if (Character.isUpperCase((char) i)) bw.write(Character.toLowerCase((char) i)); else bw.write((char) i); } } while (i != -1); br.close(); bw.close(); }
}</source>
Write to file using a BufferedWriter
<source lang="java">
import java.io.BufferedWriter; import java.io.FileWriter; public class Main {
public static void main(String[] args) throws Exception { BufferedWriter bufferedWriter = null; bufferedWriter = new BufferedWriter(new FileWriter("yourFile.txt")); bufferedWriter.write("string"); bufferedWriter.newLine(); bufferedWriter.write("string"); }
}</source>
Writing to a File: If the file does not exist, it is automatically created.
<source lang="java">
import java.io.BufferedWriter; import java.io.FileWriter; public class Main {
public static void main(String[] argv) throws Exception { BufferedWriter out = new BufferedWriter(new FileWriter("outfilename")); out.write("asdf"); out.close(); }
}</source>