Java實用方法整理(二十)——IO流之BufferedInputStream、BufferedOutputStream
阿新 • • 發佈:2018-12-19
1,描述
BufferedInputStream、BufferedOutputStream是Java為高效傳輸IO流而設計的一種緩衝區類,使用方法和InputStream、OutputStream類似。下面用一個簡單的檔案複製的案例(同Java實用方法整理(十九)中的案例三)來說明它們的用法。
2,案例+原始碼
需求:將原始檔複製到目的地檔案中(大家可以直接測試下面的這段程式,效率真的很高0.0)
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /** * @author Manduner_TJU * @version 建立時間:2018年11月2日下午6:50:39 */ public class TestBufferIO { public static void main(String[] args) throws IOException { //1,封裝資料來源 BufferedInputStream bis = new BufferedInputStream( new FileInputStream("e:\\test.mp4")); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("g:\\testNew.mp4")); //==========開始時間============// long timeStart = System.currentTimeMillis(); //2,複製檔案 byte[] bys = new byte[256]; int len = 0; while((len = bis.read(bys))!=-1) { bos.write(bys,0,len); } //3,釋放資源 bis.close(); bos.close(); //========結束時間==============// long timeEnd = System.currentTimeMillis(); float time = (float)(timeEnd-timeStart)/1000; System.out.println("檔案複製完畢,共用時"+ String.format("%.2f", time)+"s");//0.07s } }