我怎么跑过一个太大的字符串?

时间:2015-03-15 21:09:57

标签: java string

所以我一直在尝试运行一个html文件,在其中找到一个特定的细节。

我用jsoup做错了(因为我认为,导致jsoup只能处理该网站)我刚刚将网站下载到一个html文件并解析为一个大字符串... 然后,我发现它可能不是混乱的jsoup,但字符串有多大。 好像它一开始就存储好了(我可以看到它的长度是600k字符)但是真的不能做到这一点。当试图伸手进入弦乐时,我只看到了结束。

我不会显示代码原因我不想透露这项工作,但生病解释就像这样 - 我把html的内容变成了一个字符串, 我试图找到一个特定的短语, 我失败了,因为字符串会切断它可以容纳的最后一个字符。

所以我的问题是如何使我的字符串能够存储比它应该的更多? /我的情况的任何其他解决方案?

我试过将字符串分成20个子串,它只会混淆整个事情。在它搞砸之前我甚至无法把它切成碎片。

~~~~所以我重写了重要的部分,所以你可以告诉我什么是错的

File folder = new File("folderName");
    File[] filesList = folder.listFiles();
    List<String> links = new ArrayList<String>();
    for (int i = 0; i < filesList.length; i++) {
        if (filesList[i].isFile()) {
            File file = filesList[i];
            String content;

            try {
                // getting a string out of the HTML file
                content = FileUtils.readFileToString(file, "UTF-8");

                String newSubString = content;

如果生病了system.out.print这个,它只会显示我到底的某个地方。 当我在它上面运行时,它将开始运行结束。

1 个答案:

答案 0 :(得分:0)

尝试使用StringBuilder。

字符串是不可变的,因此每次附加到字符串时都会生成一个新副本。

StringBuilder效率更高,因为它是可变的,你可以在使用toString()方法完成修改后将其转换为String。