Java讀取檔案內容方法比較

2021-08-19 16:36:48 字數 768 閱讀 4603

最近在做乙個語料的清洗程式,需要讀取大量的txt檔案的內容,然後對內容進行一系列的清洗,這時有兩種處理方案,一是用readline()一行一行讀取然後拼接起來,二是一次性讀取,我傾向於一次性將文字的原始內容直接讀取到記憶體中再做處理,因為涉及的檔案量很大,幾

十、幾百g的幾十萬個檔案,這樣提公升一點速度,整體就能提公升很大的速度。當然,這需要你有一台大記憶體的機器,記憶體不夠者……可以一次讀取少部分內容,分多次讀取。

讀取檔案效率最快的方法就是一次全讀進來,很多人用readline()之類的方法,可能需要反覆訪問檔案,而且每次readline()都會呼叫編碼轉換,再把字串拼接起來,降低了速度,所以,在已知編碼的情況下,按位元組流方式先將檔案都讀入記憶體,再一次性編碼轉換是最快的方式,兩種情況的**如下:

readline()方法:

public string getcontent(file file)

read.close();

}else

} catch (exception e)

return sb.tostring();

}

位元組流一次讀取:

public string getcontent(file file) throws exception ;

if(file.isfile() && file.exists())else

return

new string(filecontent, encoding);

}

Java上傳excel檔案並讀取檔案內容

上傳的excel檔案 private file testexcel 上傳的excel檔案的名稱 private string testexcelfilename 讀取excel檔案 is new fileinputstream activationrecordexcel 讀取excel資料內容 pa...

檔案內容比較

這是乙個c 程式設計思想 2卷 上的乙個示例,試寫了一下,算是對模板的乙個練習 include include include include include include include include using namespace std typedef vectorvecstr typed...

java鍵盤讀取內容

system.in本身表示的是inputstream 位元組流 現在要求接收的是乙個字元流,需要將位元組流變成字元流才可以,所以要用 inputstreamreader inputstreamreader 是reader的子類,將輸入的位元組流變為字元流,即 將乙個位元組流的輸入物件變成字元流的輸入...