Java使用緩沖流實現文件的copy


緩沖流實現文件的copy,可以對圖片,視頻,zip,rar等文件進行操作
package com.io.buffered; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.junit.Test; /** * 使用緩沖流實現文件的copy */
public class BufferedStreamFile { // 非文本文件放copy
 @Test public void copyFileTest() { // 記錄下時間
        long start = System.currentTimeMillis(); String src = "C:\\Users\\Administrator\\Desktop\\1.png"; String dest = "C:\\Users\\Administrator\\Desktop\\2.png"; copyFile(src, dest); // 結束時間
        long end = System.currentTimeMillis(); System.out.println("耗時:" + (end - start)); } public static void copyFile(String src, String dest) { // 3、創BufferedInputStream 包裝對應的節點流,用於提高效率
        BufferedInputStream bis = null; // 4、創建BufferedOutputStream 包裝對應的節點流,用於提高效率
        BufferedOutputStream bos = null; try { // 1、創建FileInputStream 
            FileInputStream fis = new FileInputStream(src); // 2、創建FileoutputStream 
            FileOutputStream fos = new FileOutputStream(dest); bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(fos); // 5、讀取對應的文件內容
            byte[] b = new byte[1024]; int len = 0; while ((len = bis.read(b)) != -1) { // 6將讀取內容寫到目標地點
                bos.write(b, 0, len); } // bos.flush();// 強制情況緩沖區【防止數據的丟失,一般情況不要用加】
        } catch (IOException e) { e.printStackTrace(); } // 7、關閉流
        if (bos != null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } if (bis != null) { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM