FileOutputStream,BufferedOutputStream,FileWriter寫檔案速度比較
阿新 • • 發佈:2018-12-18
package com.test; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; public class FileTest { public static void main(String[] args) { // TODO Auto-generated method stub FileOutputStream out = null; FileOutputStream outSTr = null; BufferedOutputStream Buff = null; FileWriter fw = null; int count = 1000;//寫檔案行數 try { //FileOutputStream out = new FileOutputStream(new File("C:\\Users\\95342\\Desktop\\add1.txt")); long begin = System.currentTimeMillis(); for (int i = 0; i < count; i++) { out.write("測試java 檔案操作\r\n".getBytes()); } out.close(); long end = System.currentTimeMillis(); System.out.println("FileOutputStream執行耗時:" + (end - begin) + " 毫秒"); //BufferedOutputStream outSTr = new FileOutputStream(new File("C:\\Users\\95342\\Desktop\\add2.txt")); Buff = new BufferedOutputStream(outSTr); long begin0 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { Buff.write("測試java 檔案操作\r\n".getBytes()); } Buff.flush(); Buff.close(); long end0 = System.currentTimeMillis(); System.out.println("BufferedOutputStream執行耗時:" + (end0 - begin0) + " 毫秒"); //FileWriter fw = new FileWriter("C:\\Users\\95342\\Desktop\\add3.txt"); long begin3 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { fw.write("測試java 檔案操作\r\n"); } fw.close(); long end3 = System.currentTimeMillis(); System.out.println("FileWriter執行耗時:" + (end3 - begin3) + " 毫秒"); } catch (Exception e) { e.printStackTrace(); } finally { try { fw.close(); Buff.close(); outSTr.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } } } }
FileOutputStream執行耗時:11 毫秒
BufferedOutputStream執行耗時:1 毫秒
FileWriter執行耗時:6 毫秒