Java使用BufferedInputStream和BufferedOutputStream類進行文件(音樂)複製

Java使用BufferedInputStream和BufferedOutputStream類進行文件(音樂)複製

BufferedInputStream 爲另一個輸入流添加一些功能,即緩衝輸入以及支持 mark 和 reset 方法的能力。在創建 BufferedInputStream 時,會創建一個內部緩衝區數組。在讀取或跳過流中的字節時,可根據需要從包含的輸入流再次填充該內部緩衝區,一次填充多個字節。mark 操作記錄輸入流中的某個點,reset 操作使得在從包含的輸入流中獲取新字節之前,再次讀取自最後一次 mark 操作後讀取的所有字節。
BufferedOutputStream該類實現緩衝的輸出流。通過設置這種輸出流,應用程序就可以將各個字節寫入底層輸出流中,而不必針對每次字節寫入調用底層系統。

將某個文件複製到另一個地方的實現:
複製前的截圖:D盤下有一首歌曲這裏寫圖片描述
現在我們將它複製到想複製的位置:比如:D:\copyMusic 下
代碼如下:

public class IOTest {
public static void main(String[] args) throws IOException {
            //使用buffer進行文件讀寫
            BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(new File("D:\\BIGBANG - IF YOU (Live).mp3")));
            File newFile = new File("D:\\copyMusic\\BIGBANG - IF YOU (Live).mp3");
            newFile.createNewFile();
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(newFile));
            byte[] bytes= new byte[1024];
            int length = 0;
            while ((length=bufferedInputStream.read(bytes))!=-1){
                bufferedOutputStream.write(bytes,0,length);
            }
    }
}

運行前D盤下copyMusic文件夾結果截圖,此時沒有運行程序所以爲空:這裏寫圖片描述

運行後截圖,複製成功:這裏寫圖片描述

發佈了42 篇原創文章 · 獲贊 95 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章