Java_基础—flush和close方法的区别

package com.soar.stream;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo6_flush_AND_close {
    /*
     * close()方法具备刷新的功能,在关闭流之前,就会刷新一次缓冲区,将缓冲区的字节全都刷新到文件上,再关闭
     * flush()方法具备刷新的功能,刷完之后还可以继续写
     * close()方法刷完之后就不能写了
     */
    public static void main(String[] args) throws IOException {
        //flush和close方法的区别
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("SpeedDream.mp3"));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("copy.mp3"));

        int b;
        while((b = bis.read()) != -1){
            bos.write(b);
            bos.flush();            //每次写后都刷新
        }
        bis.close();
        bos.close();
        //bos.flush();
    }
}
posted @ 2017-07-24 09:16  Soar_Sir  阅读(930)  评论(0编辑  收藏  举报