Java 缓冲流的问题

Keep Slient, 2016-09-23 07:45:53
URLConnection connection = realURL.openConnection();  
connection.connect();
in = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "GBK"));
String line;
while(null != (line = in.readLine())) {
urlContent += line;
}

爬取网页上的信息 可是这个urlcontent是String类型 存储的内容有限
会截掉一部分html的信息
这样我处理的时候就会出错
p = Pattern.compile("class.+?l_pic.+?href=\"(.+?)\"");
m = p.matcher(content);

要怎么办呢 写到本地读出来的话也还是流
do{
line = in.readLine();
if(line.length()> Integer.MAX_VALUE)
shortcontent = "";
shortcontent += line;
m = p.matcher(shortcontent);
}while(null != line && m.find());

我尝试这样写还是有问题 - -. 大腿快来
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Keep Slient, 2016-09-23
  • 打赏
  • 举报
回复
引用 3楼当作看不见 的回复:
爬的时候一句一句的爬就不会出问题了 ,我的做法是,一个缓冲区,读完一行,输出(写入文件什么的),再读下一行
。。。这就很尴尬了 一句一句怎么爬 文章可不是在一行里
当作看不见 2016-09-23
  • 打赏
  • 举报
回复
爬的时候一句一句的爬就不会出问题了 ,我的做法是,一个缓冲区,读完一行,输出(写入文件什么的),再读下一行
Keep Slient, 2016-09-23
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
不要用string接收了,改为stringbuilder
不是我刚才又试了下 不行 不是string 的原因 我爬的那个网页 开头一部分 结尾一部分 都可以爬下来 但是中间好大一段文字 不见了 真的很郁闷
  • 打赏
  • 举报
回复
不要用string接收了,改为stringbuilder

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧