请Java大牛帮忙,关于HTTP文件下载,功能可以实现,但是下载后总是有个别文件不能被删除.
for(inti=0;i<ifrList.size();i++){ImgFavoriteRepositoryifr=ifrList.get(i);try{URLhttpu...
for (int i = 0; i < ifrList.size(); i++) {
ImgFavoriteRepository ifr = ifrList.get(i); try { URL httpurl = new URL(ifr.getImgUrl()); fileNames[i] = getFileNameFromUrl(ifr.getImgUrl()); File f = new File(cachePath); if (!f.exists()) { f.mkdirs(); } f = new File(cachePath + fileNames[i]); f.createNewFile(); FileUtils.copyURLToFile(httpurl, f); } catch (Exception e) { e.printStackTrace(); } }
用的是apache的文件工具类
我怀疑是不是被占用或者流没关闭? 展开
ImgFavoriteRepository ifr = ifrList.get(i); try { URL httpurl = new URL(ifr.getImgUrl()); fileNames[i] = getFileNameFromUrl(ifr.getImgUrl()); File f = new File(cachePath); if (!f.exists()) { f.mkdirs(); } f = new File(cachePath + fileNames[i]); f.createNewFile(); FileUtils.copyURLToFile(httpurl, f); } catch (Exception e) { e.printStackTrace(); } }
用的是apache的文件工具类
我怀疑是不是被占用或者流没关闭? 展开
展开全部
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class Test {
private static String fileName="http://localhost/file/1.jpg";
public static void main(String args[]) throws Exception {
URL url=new URL(fileName);
URLConnection uc=url.openConnection();
uc.connect();
HttpURLConnection huc=(HttpURLConnection)uc;
if(huc.getResponseCode()!=HttpURLConnection.HTTP_OK){
//判断是否成功连接到http,如果不能连接则返回
System.out.println("can't connect");
return;
}
File f=new File("D://text.jpg");//把文件复制到D盘的text.jpg中
InputStream in=(uc.getInputStream());//打开输入流
byte[] data=new byte[1024*10];
int l=in.read(data);
if(!f.exists()) f.createNewFile();
FileOutputStream out=new FileOutputStream(f);
while(l!=-1){
out.write(data, 0, l);
l=in.read(data);
}
out.flush();
out.close();
System.out.println("OK");
}
}
自己把源地址修改下
更多追问追答
追问
你这个是一张图,我要下载N张,用循环吗?
追答
有区别吗??不会举一反三??
你就把你要下载的地址放到一个list中不就得了吗??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询