问题描述
- 使用java通过URL下载图片不正常
-
http://zcimg.zcool.com.cn/zcimg/m_c6fe5449f86a0000016004e746c6.jpg
第一条地址可以正确下到图片
http://www.zcool.com.cn/img.html#src=/zcimg/905054488bb700000160049caba7.jpg
第二条地址下载下来的图片只有1KB且打不开怀疑是不是#src的问题
下载代码
public static void downloadImage(URL url,String filePath){
try{
setParams(url,filePath);
System.out.println("Downloading image from " + url);
File outFile = new File(filePath + (count+1) + ".png");
OutputStream os = new FileOutputStream(outFile);
InputStream is = url.openStream();
byte[] buff = new byte[1024];//一次读取的数据为1024Byte
while(true) {
int readedLength = is.read(buff);//一次读取1024Byte写入buff
if(readedLength == -1) {
break;
}
byte[] temp = new byte[readedLength];
System.arraycopy(buff, 0, temp, 0, readedLength);
os.write(temp);
}
is.close();
os.close();
System.out.println("Download Finish " + (count + 1));
count++;
}
catch(Exception e){
e.printStackTrace();
}
}谢谢。。。
解决方案
特殊字符的问题
url=encodeURI(url);