标签:style blog http color java os io 文件
package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPInputStream; /** * 从url指定的地址下载一个文件到本地 * 2014-8-5 17:28:50 * */ public class Downloader{ private URL url;// 网络文件的地址 URLConnection con;// 到URL的连接 InputStream is;// 输入流 public Downloader(String urlStr,String path,String fileName) throws Exception{ url = new URL(urlStr); con = url.openConnection(); is = con.getInputStream(); // 未取到文件 int length=con.getContentLength(); if(length==71495){ throw new Exception(urlStr+"指向的文件不存在."); } File folder=new File(path); if(folder.exists()==false || folder.isFile()){ folder.mkdir(); } String filename=path+File.separator+fileName; String code = con.getHeaderField("Content-Encoding"); if ((null != code) && code.equals("gzip")) { GZIPInputStream gis = new GZIPInputStream(is); // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出的文件流 OutputStream os = new FileOutputStream(filename); // 开始读取 while ((len = gis.read(bs)) != -1) { os.write(bs, 0, len); } // 完毕,关闭所有链接 gis.close(); os.close(); is.close(); } else { // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; // 输出的文件流 OutputStream os = new FileOutputStream(filename); // 开始读取 while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // 完毕,关闭所有链接 os.close(); is.close(); } System.out.println(filename+"已保存"); } public static void main(String[] args) throws Exception{ new Downloader("http://b.bst.126.net/newpage/style/nblog/4007/img/top_banner.jpg","C://wallpaper//2","top_banner.jpg"); } }
爪哇国新游记之二十八----从url指定的地址下载一个文件到本地,布布扣,bubuko.com
爪哇国新游记之二十八----从url指定的地址下载一个文件到本地
标签:style blog http color java os io 文件
原文地址:http://www.cnblogs.com/xiandedanteng/p/3892771.html