如题 谢谢各位了先~~~抓取这个页面会乱码 但是抓取gb2312正常怎么解决呢? public class test1 {
private String downloadPage(URL pageUrl) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(pageUrl.openStream()));
String chasr="";
String line;
StringBuffer pageBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
pageBuffer.append(line);
}
System.out.print(pageBuffer.toString());
return pageBuffer.toString(); } catch (Exception e) {
e.printStackTrace();
}
return null;
}
private URL verifyUrl(String url) {
if (!url.toLowerCase().startsWith("http://"))
return null;
URL verifiedUrl = null;
try {
verifiedUrl = new URL(url);
} catch (Exception e) {
return null;
}
return verifiedUrl;
}
public static void main(String agr[]){
test1 st=new test1();
String url="http://j.peopledaily.com.cn/94476/94637/6524482.html";
URL pageUrl = st.verifyUrl(url);
st.downloadPage(pageUrl);
}
}
private String downloadPage(URL pageUrl) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(pageUrl.openStream()));
String chasr="";
String line;
StringBuffer pageBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
pageBuffer.append(line);
}
System.out.print(pageBuffer.toString());
return pageBuffer.toString(); } catch (Exception e) {
e.printStackTrace();
}
return null;
}
private URL verifyUrl(String url) {
if (!url.toLowerCase().startsWith("http://"))
return null;
URL verifiedUrl = null;
try {
verifiedUrl = new URL(url);
} catch (Exception e) {
return null;
}
return verifiedUrl;
}
public static void main(String agr[]){
test1 st=new test1();
String url="http://j.peopledaily.com.cn/94476/94637/6524482.html";
URL pageUrl = st.verifyUrl(url);
st.downloadPage(pageUrl);
}
}
解决方案 »
- 大家帮我看看程序那儿错了
- 谁能给一个文件下载多线程的例子,一个线程用来下载文件,另一个线程用来显示下载的进度。
- 郁闷中,进来看看吧!
- 讨论:如何实现在线编辑公式(讨论者有分)
- 哪里能下载jdk1.4,我在sun的网站下载不下来
- 我用一张图片作为背景,现在又在上面画了一张小的,把小的移移走后,怎么样把原来的地方再用背景图补上呀
- 在JBuilder6中如何看一个类的继承树(从object到该类)
- 问一个timer的问题
- 创建目录
- 刚学swing,怎样利用MyEclipse中的图形界面工具实现JPanel的切换呢??
- 想求输入10个数求平均值,最小值,最大值`!编出的代码。发现不能输入数字
- JDBC 问题
把System.out.print(pageBuffer.toString()); 这句更改为System.out.println(new String(sb.toString().getBytes(),"UTF-8"));
这就OK了