您好我想知道在使用LineIterator表单Apache或BufferedReader还是Scanner读取大小超过2gb的文本文件时是否可以限制(JVM)的内存大小?
让我们说我有2GB的文本文件,我想只读取该文件的500mb。当我达到500mb时,我将销毁保存数据的变量(String),它将再次继续读取另一个500mb的文本文件,直到它达到文本文件的最大大小。所以它就像将文本文件拆分500mb一样。
LineIterator it = FileUtils.lineIterator(file,"UTF-8");
String line = null;
try {
while (it.hasNext()) {
line = it.nextLine();
}
答案 0 :(得分:0)
您可以使用BufferedReader(Reader in,int sz)
来读取文件BufferedReader(new FileReader(“c:\ data \ input-file.txt”),8 * 1024)