有什么聪明的方法可以将一个非常大的文件的所有字符存储到一个字符串中?

时间:2014-11-16 04:51:37

标签: java string

在这里的专家的帮助下,我目前有以下内容:

File f = new File(inputFileName);
Scanner in = new Scanner(f);
String input = in.useDelimiter("\\Z").next();

但是,如果文件(里面的所有文本)太大,我的String对象只会从中间存储到文件末尾? 任何咳嗽?我的文件大小约为3,000KB。

而且,String存储了多少char?所以我知道什么文件大小和以上将导致我的程序崩溃

由于

更新:伙计们我意识到问题可能不是我的String无法将所有字符存储在文件中,而是需要很长时间来处理我的压缩因此。我还在调试,一旦我非常肯定这个问题就会更新。任何人都知道子串会导致我的编程非常慢吗?我不认为我的算法存在任何重大问题

1 个答案:

答案 0 :(得分:0)

第一个问题已在此处得到解答: Read large files in Java

第二个问题已部分回答: How many characters can a Java String have?

但确切的答案实际上在这里: Do Java arrays have a maximum size?

charString的最大值#:

Integer.MAX_VALUE - 5