0

我有大文件(大约 30mb),这里是我用来从文件中读取数据的代码

BufferedReader br = new BufferedReader(new FileReader(file));
                try {
                    String line = br.readLine();
                    while (line != null) {
                        sb.append(line).append("\n");
                        line = br.readLine();
                    }

然后我需要拆分我阅读的内容,所以我使用

String[] inst = sb.toString().split("GO");

问题是有时子字符串超过最大字符串长度,我无法获取字符串中的所有数据。我怎样才能摆脱这个?

谢谢

4

2 回答 2

1

Scanner s = new Scanner(input).useDelimiter("GO");并使用s.next()

于 2013-11-14T10:21:08.330 回答
0

为什么部分:-错误结果可能是非连续堆段的结果,因为 CMS 收集器不会对内存进行碎片整理。

(虽然它没有回答您如何解决部分问题)。

您可以选择部分加载整个字符串,即使用子字符串

于 2013-11-14T10:21:41.973 回答