JAVA获取网络图片一个非常奇怪的问题,java高手请进: 10

一个非常奇怪的问题,java高手请进:想获取指定url对应的图片,在百度图片中获得指定URl如:imageUrl=“http://www.chinanews.com/fi... 一个非常奇怪的问题,java高手请进:
想获取指定url对应的图片,在百度图片中获得指定URl如:imageUrl=“http://www.chinanews.com/fileftp/2010/07/2010-07-29/U225P4T47D14612F967DT20100729095825.jpg

代码:
HttpURLConnection con = null;
URL url = new URL(imageUrl);
con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(5 * 1000);
con.setReadTimeout(10 * 1000);
con.setDoInput(true);
con.setDoOutput(true);
con.getInputStream();

此时在最后一句代码时会报出FileNotFoundException,但是我把url地址中【.com】改为【.com.cn】,也就是加上【.cn】,再执行同样的代码就没有错了,问题是两个URL都能在浏览器中直接打开图片的。
展开
 我来答
狼破浪
2016-06-13 · TA获得超过470个赞
知道小有建树答主
回答量:324
采纳率:100%
帮助的人:168万
展开全部
你确定有问题?我试了一下,加不加.cn都可以读到

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class URLConnection {

public static void main(String[] args) throws IOException {
final String imageUrl="http://www.chinanews.com.cn/fileftp/2010/07/2010-07-29/U225P4T47D14612F967DT20100729095825.jpg";
HttpURLConnection con = null;
URL url = new URL(imageUrl);
con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(5 * 1000);
con.setReadTimeout(10 * 1000);
con.setDoInput(true);
con.setDoOutput(true);

final InputStream in = con.getInputStream();
final byte[] buffer = new byte[1024 * 100];

int byteRead;
long totlaByteRead = 0;
while((byteRead = in.read(buffer)) > 0){
totlaByteRead += byteRead;
System.out.println(byteRead+"从URL获取字节");
}
System.out.println("总共获取字节:" + totlaByteRead);

in.close();
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式