加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

回家调试

发布时间:2020-12-15 01:57:32 所属栏目:Java 来源:网络整理
导读:import java.io.*;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class FileDown { /** * 说明:根据指定URL将文件下载到指定目标位置 * * @param urlPath * 下载路
import java.io.*;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class FileDown {    /**     * 说明:根据指定URL将文件下载到指定目标位置     *     * @param urlPath     *            下载路径     * @param downloadDir     *            文件存放目录     * @return 返回下载文件     */    @SuppressWarnings("finally")    public static File downloadFile(String urlPath,String downloadDir) {        File file = null;        try {            // 统一资源            URL url = new URL(urlPath);            // 连接类的父类,抽象类            URLConnection urlConnection = url.openConnection();            // http的连接类            HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection;            //设置超时            httpURLConnection.setConnectTimeout(1000*5);            //设置请求方式,默认是GET            httpURLConnection.setRequestMethod("GET");            // 设置字符编码            httpURLConnection.setRequestProperty("Charset","UTF-8");            // 打开到此 URL引用的资源的通信链接(如果尚未建立这样的连接)。            httpURLConnection.connect();            // 文件大小            int fileLength = httpURLConnection.getContentLength();            // 控制台打印文件大小            System.out.println("您要下载的文件大小为:" + fileLength / (1024 * 1024) + "MB");            // 建立链接从请求中获取数据            URLConnection con = url.openConnection();            BufferedInputStream bin = new BufferedInputStream(httpURLConnection.getInputStream());            // 指定文件名称(有需求可以自定义)            String fileFullName = "aaa.apk";            // 指定存放位置(有需求可以自定义)            String path = downloadDir + File.separatorChar + fileFullName;            file = new File(path);            // 校验文件夹目录是否存在,不存在就创建一个目录            if (!file.getParentFile().exists()) {                file.getParentFile().mkdirs();            }            OutputStream out = new FileOutputStream(file);            int size = 0;            int len = 0;            byte[] buf = new byte[2048];            while ((size = bin.read(buf)) != -1) {                len += size;                out.write(buf,size);                // 控制台打印文件下载的百分比情况                System.out.println("下载了-------> " + len * 100 / fileLength + "%n");            }            // 关闭资源            bin.close();            out.close();            System.out.println("文件下载成功!");        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();            System.out.println("文件下载失败!");        } finally {            return file;        }    }    /**     * 测试     *     * @param args     */    public static void main(String[] args) {        // 指定资源地址,下载文件测试        downloadFile("http://www.gov.cn/zhengce/pdfFile/1970_PDF.pdf","d:/myPdf");    }}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读