Java 将非常大的内容放入字符串或stringbuilder中

Java 将非常大的内容放入字符串或stringbuilder中,java,Java,我想获取一个非常大的html页面,但是当我尝试使用jsoup解析页面时,它报告了很多错误,因为页面太大了 我还将此页面保存为文本文件(生成225mb文件),但该文件太大,超出了String和StringBuilder的2147483647个字符限制 如何处理如此大的字符串?下载文件并将其保存在本地。然后使用缓冲文件读取器逐行读取文件并对其进行处理。考虑到整个文件的大小,将其读入一个字符串似乎是个坏主意,而且您仍然无法有效地分析数据。响应是text/plain,而不是HTML,因此不要使用jsou

我想获取一个非常大的html页面,但是当我尝试使用jsoup解析页面时,它报告了很多错误,因为页面太大了

我还将此页面保存为文本文件(生成225mb文件),但该文件太大,超出了String和StringBuilder的2147483647个字符限制


如何处理如此大的字符串?

下载文件并将其保存在本地。然后使用缓冲文件读取器逐行读取文件并对其进行处理。考虑到整个文件的大小,将其读入一个字符串似乎是个坏主意,而且您仍然无法有效地分析数据。

响应是
text/plain
,而不是HTML,因此不要使用jsoup


执行一个简单的HTTP GET,并在下载数据时解析数据,每次一行,以最大限度地减少内存使用。不需要先存储到磁盘。

2147483647(2g)>>225mb(22500000)您应该尝试使用BufferedReaderIłya Bursov,它没有超出,我在控制台中打印,看不到所有结果,控制台限制了我的查看。但我有一个使用spring boot项目的exced this sizei链接,我使用resttemplate完成了它,它可以工作,但我如何防止超出限制字符串?我的请求代码是:@GetMapping(“/cnpj”)公共响应属性列表cnpj(){restTemplate.getMessageConverters().add(new StringHttpMessageConverter());Object obj=restTemplate.getForEntity(/F.K03200UF.D71214BA”,String.class);返回新响应属性(obj,HttpStatus.OK);}这里我返回一个get请求,只是为了查看结果。使用rest模板的请求只有它:restTemplate.getMessageConverters().add(new StringHttpMessageConverter());对象obj=restTemplate.getForEntity(“/F.K03200UF.D71214BA”,String.class);