例子
以下示例显示java.io.BufferedOutputStream.flush()方法的用法。
package com.jc2182;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class BufferedOutputStreamDemo {
public static void main(String[] args) throws Exception {
FileInputStream is = null;
BufferedInputStream bis = null;
ByteArrayOutputStream baos = null;
BufferedOutputStream bos = null;
try {
// open input stream test.txt for reading purpose.
is = new FileInputStream("c:/test.txt");
// input stream is converted to buffered input stream
bis = new BufferedInputStream(is);
// creates a new byte array output stream
baos = new ByteArrayOutputStream();
// creates a new buffered output stream to write 'baos'
bos = new BufferedOutputStream(baos);
int value;
// the file is read to the end
while ((value = bis.read()) != -1) {
bos.write(value);
}
// invokes flush to force bytes to be written out to baos
bos.flush();
// every byte read from baos
for (byte b: baos.toByteArray()) {
// converts byte to character
char c = (char)b;
System.out.print(c);
}
} catch(IOException e) {
// if any IOException occurs
e.printStackTrace();
} finally {
// releases any system resources associated with the stream
if(is!=null)
is.close();
if(bis!=null)
bis.close();
if(baos!=null)
baos.close();
if(bos!=null)
bos.close();
}
}
}
假设我们有一个文本文件c:/test.txt ,其内容如下。该文件将用作示例程序的输入-
ABCDEFGHIJKLMNOPQRSTUVWXYZ
让我们编译并运行以上程序,这将产生以下结果-
ABCDEFGHIJKLMNOPQRSTUVWXYZ