Java Tutorial/File/BufferedWriter

Материал из Java эксперт
Перейти к: навигация, поиск

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>