我正在編寫一個小型的基於java的工具來處理mysqldump文件,這個文件可能會變得非常大(現在達到1 GB)。我使用此代碼讀取和處理文件:對於字符緩衝區Java的大小適當的尺寸
BufferedReader reader = getReader();
BufferedWriter writer = getWriter();
char[] charBuffer = new char[CHAR_BUFFER_SIZE];
int readCharCout;
StringBuffer buffer = new StringBuffer();
while((readCharCout = reader.read(charBuffer)) > 0)
{
buffer.append(charBuffer, 0, readCharCout);
//processing goes here
}
什麼是一個很好的規模爲charBuffer
?目前它被設置爲1000,但是我的代碼將以任意大小運行,那麼根據文件大小,最佳實踐還是可以計算此大小?
由於在未來, 問候菲利普
Oracle的'BufferedReader'已經使用默認的緩衝區'8192'。 –
我不知道這是否有一個標準,因爲它取決於你的可用內存。我會建議用不同的尺寸來試驗它,看看它是如何影響你的表現的 – StormeHawke
或者@SotiriosDelimanolis比我更瞭解它...大聲笑 – StormeHawke