首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java IO 實戰:檔案複製效能比較與影片播放器專案規劃

     編輯:Java 綜合教學

Java IO 實戰:檔案複製效能比較與影片播放器專案規劃

檔案複製兩種實作與效能對比

方式一:單位元組複製

public static void copyBytesFile(String src, String dest) throws IOException {
    FileInputStream fis = new FileInputStream(src);
    FileOutputStream fos = new FileOutputStream(dest);
    int b;
    while ((b = fis.read()) != -1) {
        fos.write(b);
    }
    fis.close();
    fos.close();
}

方式二:緩衝陣列複製(1024 bytes)

public static void copyBytesFile2(String src, String dest) throws IOException {
    FileInputStream fis = new FileInputStream(src);
    FileOutputStream fos = new FileOutputStream(dest);
    byte[] buf = new byte[1024];
    int len;
    while ((len = fis.read(buf)) != -1) {
        fos.write(buf, 0, len); // 關鍵:只寫入實際讀取的長度
    }
    fis.close();
    fos.close();
}

效能測試結果

複製 a.mp3 檔案:

  • 單位元組:約 12,000+ ms
  • 緩衝陣列:約 30 ms

單位元組耗時
緩衝陣列耗時

核心差異: 方式一每讀寫一個位元組就跨越使用者/核心空間,系統呼叫開銷極大;方式二批次讀寫,大幅減少系統呼叫次數。實務上必須使用緩衝(或 BufferedInputStream/OutputStream)。

期末專案規劃:本地影片播放器

播放器原型圖

核心功能

  • 播放本地影片檔案
  • 播放/暫停控制
  • 快轉/快退
  • 音量調節
  • 全螢幕切換
  • 視窗最小化/最大化/關閉

小組成員

王雨、程志鴻、郭強

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved