HttpURLConnection.getInputStream()只能读取网页部分内容的问题

telephone518 2007-11-23 02:44:51
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Collection {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String url = getUrl();

testcnn(url);

}
static String getUrl(){
int num=1;
String url="http://bbs.cheshi.com.cn/profile-uid-784.html";//读取此URL指向的网页的内容

return url;

}

static void testcnn(String url){
HttpURLConnection httpcnn = null;
StringBuffer strBuffer = new StringBuffer();
Reader reader =null;

try {
URL netAddress = new URL(url);
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "15000");
httpcnn =(HttpURLConnection) netAddress.openConnection();
httpcnn.setRequestMethod("GET");
httpcnn.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");

httpcnn.setDoOutput(true);
httpcnn.setDefaultUseCaches(true);
httpcnn.setDoInput(true);

reader = new InputStreamReader(httpcnn.getInputStream(),"GBK");

int read = reader.read();
while(read!=-1){
char tmp = ((char)reader.read());
strBuffer = strBuffer.append(tmp);
System.out.println(strBuffer.toString());
read = reader.read();
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if (httpcnn != null) {
httpcnn.disconnect();
httpcnn = null;
}

}
String subStr = strBuffer.toString();

System.out.println(subStr);
}

}
问题是读取到的指定网页内容是不完整的,具体是每隔一个字符读取一个,诸位看一下是哪儿出的问题,谢谢
...全文
721 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
telephone518 2007-12-05
  • 打赏
  • 举报
回复
piaopiao11 说的对
neptune0229 2007-11-23
  • 打赏
  • 举报
回复
reader = new InputStreamReader(httpcnn.getInputStream(),"GBK");
这里的问题吧,应该要和页面编码一致
piaopiao11 2007-11-23
  • 打赏
  • 举报
回复
读数据的地方有问题
while(read!=-1){
char tmp = (char) read;
strBuffer = strBuffer.append(tmp);
System.out.println(strBuffer.toString());
read = reader.read();
}

62,614

社区成员

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

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