最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java用文件流下載網(wǎng)絡文件示例代碼

 更新時間:2013年11月29日 09:50:34   作者:  
這篇文章主要介紹了Java用文件流的方式下載網(wǎng)絡文件,大家參考使用吧

復制代碼 代碼如下:

public HttpServletResponse download(String path, HttpServletResponse response) {
        try {
            // path是指欲下載的文件的路徑。
            File file = new File(path);
            // 取得文件名。
            String filename = file.getName();
            // 取得文件的后綴名。
            String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();

            // 以流的形式下載文件。
            InputStream fis = new BufferedInputStream(new FileInputStream(path));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            // 清空response
            response.reset();
            // 設置response的Header
            response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
            response.addHeader("Content-Length", "" + file.length());
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("application/octet-stream");
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return response;
    }

    public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
        // 下載本地文件
        String fileName = "Operator.doc".toString(); // 文件的默認保存名
        // 讀到流中
        InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路徑
        // 設置輸出的格式
        response.reset();
        response.setContentType("bin");
        response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
        // 循環(huán)取出流中的數(shù)據(jù)
        byte[] b = new byte[100];
        int len;
        try {
            while ((len = inStream.read(b)) > 0)
                response.getOutputStream().write(b, 0, len);
            inStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void downloadNet(HttpServletResponse response) throws MalformedURLException {
        // 下載網(wǎng)絡文件
        int bytesum = 0;
        int byteread = 0;

        URL url = new URL("windine.blogdriver.com/logo.gif");

        try {
            URLConnection conn = url.openConnection();
            InputStream inStream = conn.getInputStream();
            FileOutputStream fs = new FileOutputStream("c:/abc.gif");

            byte[] buffer = new byte[1204];
            int length;
            while ((byteread = inStream.read(buffer)) != -1) {
                bytesum += byteread;
                System.out.println(bytesum);
                fs.write(buffer, 0, byteread);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

相關文章

  • SpringBoot簡單使用SpringData的jdbc和durid

    SpringBoot簡單使用SpringData的jdbc和durid

    今天給大家?guī)淼氖顷P于Java的相關知識,文章圍繞著SpringBoot簡單使用SpringData的jdbc和durid,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 詳細解讀JAVA多線程實現(xiàn)的三種方式

    詳細解讀JAVA多線程實現(xiàn)的三種方式

    本篇文章主要介紹了詳細解讀JAVA多線程實現(xiàn)的三種方式,主要包括繼承Thread類、實現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實現(xiàn)有返回結果的多線程。有需要的可以了解一下。
    2016-11-11
  • 基于Java實現(xiàn)抽獎系統(tǒng)

    基于Java實現(xiàn)抽獎系統(tǒng)

    這篇文章主要為大家詳細介紹了基于Java實現(xiàn)抽獎系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • JWT在OpenFeign調(diào)用中進行令牌中繼詳解

    JWT在OpenFeign調(diào)用中進行令牌中繼詳解

    Feign是一個聲明式的Web Service客戶端,是一種聲明式、模板化的HTTP客戶端。而OpenFeign是Spring Cloud 在Feign的基礎上支持了Spring MVC的注解,如@RequesMapping等等,這篇文章主要給大家介紹了關于JWT在OpenFeign調(diào)用中進行令牌中繼的相關資料,需要的朋友可以參考下
    2021-10-10
  • Java8中的forEach使用及說明

    Java8中的forEach使用及說明

    這篇文章主要介紹了Java8中的forEach使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • SpringBoot2 集成測試組件的七種方法

    SpringBoot2 集成測試組件的七種方法

    下面圍繞幾個自己開發(fā)過程中常用的測試工具和手段,做簡單的總結,不在于對比方式的好壞,存在即合理,在不同場景中對合理手段的選擇,快速解決問題才是根本目的。
    2021-06-06
  • SpringBoot熱部署Springloaded實現(xiàn)過程解析

    SpringBoot熱部署Springloaded實現(xiàn)過程解析

    這篇文章主要介紹了SpringBoot熱部署Springloaded實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • springboot中如何去整合shrio實例分享

    springboot中如何去整合shrio實例分享

    這篇文章主要介紹了springboot中如何去整合shrio實例分享的相關資料,需要的朋友可以參考下
    2023-08-08
  • 深入分析JAVA 建造者模式

    深入分析JAVA 建造者模式

    這篇文章主要介紹了JAVA 建造者模式的的相關資料,文中講解非常詳細,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • Java this()和super()的使用注意

    Java this()和super()的使用注意

    這篇文章主要介紹了Java this()和super()的使用注意的相關資料,需要的朋友可以參考下
    2017-04-04

最新評論

巫溪县| 建湖县| 邻水| 元氏县| 乐业县| 义马市| 资讯 | 邻水| 娄烦县| 瓦房店市| 潢川县| 道孚县| 象州县| 都江堰市| 旅游| 新宾| 高雄市| 万山特区| 个旧市| 华容县| 金沙县| 柳江县| 义马市| 卓资县| 临沧市| 兖州市| 普兰店市| 青河县| 彝良县| 临澧县| 霍林郭勒市| 西青区| 宝鸡市| 曲沃县| 肇庆市| 扶风县| 安福县| 水城县| 大厂| 保康县| 南郑县|