栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

直接下载 和 断点续传(直接下载)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

直接下载 和 断点续传(直接下载)

package cn.hp.test;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;


public class Test {
    public static void main(String[] args) {
        String path ="http://softforspeed.51xiazai.cn/down/BaiduNetdisk_6.9.7.4.exe";
        try {
            //创建一个URL对象
            URL url = new URL(path);
            //打开连接 ,获取了url请求的连接对象conn
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            //请求设置
            conn.setConnectTimeout(5000);//setConnectTimeout 请求的超时时间
            conn.setReadTimeout(5000);//setReadTimeout 读取超时时间
            conn.setRequestMethod("GET");//设置请求提交的方法Get Post

            //获取响应码
            int responseCode = conn.getResponseCode();
            System.out.println("responseCode = " + responseCode);

            //如果响应码200 连接成功
            if(responseCode == 200){
                InputStream in = conn.getInputStream(); //获取用于读取网络资源的输入流

                //下载的流
                String fileName = conn.getHeaderField("Content-Disposition"); //获取相应的头部文件(包含由文件名)

                fileName = fileName.split(";")[1];
                fileName = fileName.substring(fileName.indexOf(""")+1,fileName.lastIndexOf("""));

                System.out.println("fileName = " + fileName);//成功获取文件名

                File file = new File("fileName");
                RandomAccessFile raf = new RandomAccessFile(file, "rwd");//"rwd" 赋权限 可读可写

                //读一组,下载一组
                byte[] bytes = new byte[1024];
                int len = 0;
                while ((len=in.read(bytes))!=-1){
                    raf.write(bytes,0,len);
                }

                //关闭流 释放资源
                raf.close();
                in.close();
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号