Java读取文件,指定内存限制

时间:2015-04-12 12:38:10

标签: java io iterator java.util.scanner bufferedreader

您好我想知道在使用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();


                    }

1 个答案:

答案 0 :(得分:0)

您可以使用BufferedReader(Reader in,int sz)

来读取文件

BufferedReader(new FileReader(“c:\ data \ input-file.txt”),8 * 1024)