嗨我只是想知道是否有可能在使用LineIterator格式的Apache或BufferedReader或Scanner讀取超過2GB大小的文本文件時限制(JVM)的內存大小?
比方說,我有2GB的文本文件,我只想爲該文件讀取500MB。當我達到500MB時,我將銷燬包含數據的變量(String),並且它將繼續以另一個500mb讀取文本文件,直到達到文本文件的最大大小。所以這就像分割文本文件500MB。具有指定內存限制的Java讀取文件
LineIterator it = FileUtils.lineIterator(file,"UTF-8");
String line = null;
try {
while (it.hasNext()) {
line = it.nextLine();
}
最簡單的方法 - 創建一個'500mb''byte []'並填充它。 –
但是數據是字符串而不是字節 – tuturyokgaming
文件中的所有內容都是字節。如果你願意,你可以創建一個'char []'。 –