Java Tutorial/File/BufferedOutputStream
Содержание
- 1 Append string to a text file
- 2 BufferedOutputStream
- 3 Create DataInputStream out of BufferedInputStream
- 4 Create DataOutputStream out of BufferedOutputStream
- 5 Write byte array to file using BufferedOutputStream
- 6 Write byte to file using BufferedOutputStream
- 7 Write to file using BufferedOutputStream
Append string to a text file
<source lang="java">
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; public class Main {
public static void main(String[] argv) { append(new File("c:\\a.txt"), "value"); } public static void append(File aFile, String content) { try { PrintStream p = new PrintStream(new BufferedOutputStream(new FileOutputStream(aFile, true))); p.println(content); p.close(); } catch (Exception e) { e.printStackTrace(); System.err.println(aFile); } }
}</source>
BufferedOutputStream
You should always wrap your OutputStream with a BufferedOutputStream for better performance. The BufferedOutputStream class has two constructors that accept an OutputStream.
<source lang="java">
public BufferedOutputStream (OutputStream out) public BufferedOutputStream (OutputStream out, int bufferSize)</source>
Create DataInputStream out of BufferedInputStream
<source lang="java">
import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.EOFException; import java.io.FileInputStream; import java.io.IOException; public class PrimeReader {
public static void main(String[] arguments) { try { FileInputStream file = new FileInputStream("400primes.dat"); BufferedInputStream buff = new BufferedInputStream(file); DataInputStream data = new DataInputStream(buff); try { while (true) { int in = data.readInt(); System.out.print(in + " "); } } catch (EOFException eof) { buff.close(); } } catch (IOException e) { System.out.println("Error - " + e.toString()); } }
}</source>
Create DataOutputStream out of BufferedOutputStream
<source lang="java">
import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class PrimeWriter {
public static void main(String[] arguments) { int[] primes = new int[400]; int numPrimes = 0; int candidate = 2; while (numPrimes < 400) { primes[numPrimes] = candidate; numPrimes++; candidate++; } try { FileOutputStream file = new FileOutputStream("p.dat"); BufferedOutputStream buff = new BufferedOutputStream(file); DataOutputStream data = new DataOutputStream(buff); for (int i = 0; i < 400; i++) data.writeInt(primes[i]); data.close(); } catch (IOException e) { System.out.println("Error - " + e.toString()); } }
}</source>
Write byte array to file using BufferedOutputStream
<source lang="java">
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; public class Main {
public static void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream(new File("C:/Demo")); BufferedOutputStream bos = new BufferedOutputStream(fos); bos.write("this is a test".getBytes()); bos.flush(); bos.close(); }
}</source>
Write byte to file using BufferedOutputStream
<source lang="java">
import java.io.BufferedOutputStream; import java.io.FileOutputStream; public class Main {
public static void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream("C:/Demo.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos); byte b = 66; // write a character represented by ascii 66 i.e. "B" bos.write(b); bos.flush(); bos.close(); }
}</source>
Write to file using BufferedOutputStream
<source lang="java">
import java.io.BufferedOutputStream; import java.io.FileOutputStream; public class Main {
public static void main(String[] args) throws Exception { BufferedOutputStream bufferedOutput = new BufferedOutputStream(new FileOutputStream( "yourFile.txt")); bufferedOutput.write("Line one".getBytes()); bufferedOutput.write("\n".getBytes()); bufferedOutput.write(65); bufferedOutput.close(); }
}</source>