IO Java 不同讀寫方式的IO效能

2021-07-30 11:06:17 字數 1057 閱讀 7687

利用不同的讀寫方式實現複製時,不同的方法對大檔案有較大的影響。

下面就三種方式測試一下。

ps:system.currentmillis();用於記錄那一刻的時間。

1.利用單位元組的方式直接複製(速度慢)

實現方法如下

public

static

void dzj(file infile,file outfile) throws

ioexception

long b=system.currenttimemillis();

system.out.println("單位元組直接複製用時"+(b-a));

in.close();

out.close();

}

2.利用緩衝區bufferef提高效能(速度有較為明顯的提高)

public

static

void hc(file infile,file outfile)throws

ioexception

long b=system.currenttimemillis();

system.out.println("讀寫用緩衝區的用時為:"+(b-a));

in.close();

out.close();

}

3.利用位元組陣列批量讀寫位元組(速度提公升非常明顯,開闢了記憶體)

public

static

void bytes(file infile,file outfile)throws

ioexception

long b=system.currenttimemillis();

system.out.println("位元組陣列方法用時為:"+(b-a));

in.close();

out.close();

}

以上**執行結果如下:

測試檔案為  10.1 mb (10,616,738 位元組)

解決亂碼 自定義io流讀寫編碼,讀寫不同編碼的檔案

利用io流讀寫檔案時,預設的流編碼都是utf 8,d但是如果流的編碼和檔案的編碼不一樣,得到的內容是亂碼.所幸的是位元組流可以在轉為string使用new string byte,charset 設定編碼.字元流inputstreamreader,outputstreamwriter這兩個類的構造方...

IO流的讀寫

測試了一些用普通的bufferreader讀太慢了,還是用位元組陣列輸出流比較快,測試nio比它還慢幾十毫秒如果讀寫8m的txt檔案示例 string newpath long start system.currenttimemillis mapmap xmlreader.viewxml file ...

io流的讀寫

所有的檔案,或資料夾 都用該類表示。file file new file c down a.txt 或 file file new file c down a.txt file 就表示a.txt檔案。可以用file來呼叫響應的方法。file.exists 判斷檔案或問價夾是否存在 file.crea...