Java 使用帶緩沖的字節流讀寫、拷貝數據
阿新 • • 發佈:2019-03-06
exceptio fileinput edi pre 拷貝數據 args input class buffer
使用帶緩沖的字節流可以提高讀寫速度。
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class ReadByBufferedByteStream { public static void main(String[] args) { try { FileInputStream fis=new FileInputStream("movie.mp4"); BufferedInputStream bis=new BufferedInputStream(fis,5000000); FileOutputStream fos=new FileOutputStream("movie_copy.mp4"); BufferedOutputStream bos=new BufferedOutputStream(fos,5000000); byte input[]=new byte[1000000]; int count=0; long before=System.currentTimeMillis(); while(bis.read(input)!=-1) { count++; bos.write(input); } bos.close(); fos.close(); bis.close(); fis.close(); System.out.println("總共用時"+(System.currentTimeMillis()-before)+"毫秒"); System.out.println("讀取了"+count+"次"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
輸出:
總共用時138毫秒 讀取了42次
Java 使用帶緩沖的字節流讀寫、拷貝數據