FileDownloaderUtil.java import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Date;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; /** * 描述:从网页下载文件到本地 * @param url 需要下载的URL * @param savePath 文件保存的路径 * @param fileName 文件名 * @param suffixName 文件后缀 * @author lizheng */ public class FileDownloaderUtil implements Runnable { /** 需要下载的文件URL */ private String url ; /** 文件保存的路径 */ private String finallPath; /** * @param url 需要下载的URL * @param savePath 文件保存的路径 * @param fileName 文件名 * @param suffixName 文件后缀 */ public FileDownloaderUtil(String url,String savePath,String fileName,String suffixName) { this.url=url; String finallPath=savePath+fileName+suffixName; this.finallPath=finallPath; } public FileDownloaderUtil(String url,String savePath,String fileName) { this.url=url; String finallPath=savePath+fileName; this.finallPath=finallPath; } public void run( ) { System.out.println("[INFO] Download From : " + this.url); File file = new File(this.finallPath); if (file.exists()) file.delete(); try { // 使用file来写入本地数据 file.createNewFile(); FileOutputStream outStream = new FileOutputStream(this.finallPath); // 执行请求,获得响应 HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(url); HttpResponse httpResponse = httpClient.execute(httpGet); System.out.println("[STATUS] Download : " + httpResponse.getStatusLine() + " [FROM] " + this.finallPath); HttpEntity httpEntity = httpResponse.getEntity(); InputStream inStream = httpEntity.getContent(); // 这个循环读取网络数据,写入本地文件 while (true) { byte[] bytes = new byte[1024 * 1000]; int k = inStream.read(bytes); if (k >= 0) { outStream.write(bytes, 0, k); outStream.flush(); } else break; } inStream.close(); outStream.close(); } catch (IOException e) { System.out.println("[ERROR] Download IOException : " + e.toString() + " [文件保存到:] : " + this.finallPath); e.printStackTrace(); } } public static void main(String[] args) { FileDownloaderUtil d = new FileDownloaderUtil("http://img.qichacha.com/Download/20170919155844468c2e1f.xls", "E:/findNewCompany/",TimeUtil.dateToStr(new Date())+"-",".xls" ); d.run(); } }