当前位置: 代码迷 >> 综合 >> (JavaSE 学习记录) IO流之缓冲字节流 BufferedInputStream、BufferedOutputStream
  详细解决方案

(JavaSE 学习记录) IO流之缓冲字节流 BufferedInputStream、BufferedOutputStream

热度:45   发布时间:2024-01-09 06:59:10.0

缓冲字节流

是一种处理流,用于提升性能,通过内部缓存数组提高读写效率。

缓冲字节流先将数据缓存起来,然后当缓存区存满后或者手动刷新时再一次性的读取到程序或写入目的地。

以下为加入了缓冲字节流的对文件拷贝的操作

import java.io.*;public class BufferedInputStreamTest {
    public static void main(String[] args){
    BufferedInputStream bis = null;InputStream is = null;BufferedOutputStream bos = null;OutputStream os = null;try {
    os = new FileOutputStream("dest.txt");is = new FileInputStream("Garden.txt");bis = new BufferedInputStream(is);bos = new BufferedOutputStream(os);byte[] flush = new byte[1024];int len;while((len=bis.read(flush))!=-1){
    bos.write(flush,0,len);}bos.flush();} catch (FileNotFoundException e) {
    e.printStackTrace();} catch (IOException e) {
    e.printStackTrace();}finally {
    try {
    if (null!=bos) {
    bos.close();}} catch (IOException e) {
    e.printStackTrace();}try {
    if (null!=bis) {
    bis.close();}} catch (IOException e) {
    e.printStackTrace();}try {
    if (null!=os) {
    os.close();}} catch (IOException e) {
    e.printStackTrace();}try {
    if (null!=is) {
    is.close();}} catch (IOException e) {
    e.printStackTrace();}}}
}