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

Java 如何將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件

 更新時(shí)間:2021年09月16日 10:33:56   作者:狂風(fēng)之力  
這篇文章主要介紹了Java 如何將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件

將互聯(lián)網(wǎng)上的http開(kāi)頭的url資源,保存到本地。

 private File getNetUrlHttp(String path){
       //對(duì)本地文件命名,path是http的完整路徑,主要得到資源的名字
        String newUrl = path;
        newUrl = newUrl.split("[?]")[0];
        String[] bb = newUrl.split("/");
        //得到最后一個(gè)分隔符后的名字
        String fileName = bb[bb.length - 1]; 
        //保存到本地的路徑
        String filePath="e:\\audio\\"+fileName; 
        File file = null;
 
        URL urlfile;
        InputStream inputStream = null;
        OutputStream outputStream = null;
        try{
            //判斷文件的父級(jí)目錄是否存在,不存在則創(chuàng)建
            file = new File(filePath);
            if(!file.getParentFile().exists()){
                file.getParentFile().mkdirs();
            }
            try{
                //創(chuàng)建文件
                file.createNewFile();
            }catch (Exception e){
                e.printStackTrace();
            }
            //下載
            urlfile = new URL(newUrl);
            inputStream = urlfile.openStream();
            outputStream = new FileOutputStream(file);
 
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead=inputStream.read(buffer,0,8192))!=-1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            }catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    if (null != outputStream) {
                        outputStream.close();
                    }
                    if (null != inputStream) {
                        inputStream.close();
                    }
 
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
          return file;
        }

url轉(zhuǎn)變?yōu)?MultipartFile對(duì)象

/**
 * url轉(zhuǎn)變?yōu)?MultipartFile對(duì)象
 * @param url
 * @param fileName
 * @return
 * @throws Exception
 */
private static MultipartFile createFileItem(String url, String fileName) throws Exception{
    FileItem item = null;
    try {
        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
        conn.setReadTimeout(30000);
        conn.setConnectTimeout(30000);
        //設(shè)置應(yīng)用程序要從網(wǎng)絡(luò)連接讀取數(shù)據(jù)
        conn.setDoInput(true);
        conn.setRequestMethod("GET");
        if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
            InputStream is = conn.getInputStream();
            FileItemFactory factory = new DiskFileItemFactory(16, null);
            String textFieldName = "uploadfile";
            item = factory.createItem(textFieldName, ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
            OutputStream os = item.getOutputStream();
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            is.close();
        }
    } catch (IOException e) {
        throw new RuntimeException("文件下載失敗", e);
    }
    return new CommonsMultipartFile(item);
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)窗口刷新的示例代碼

    java實(shí)現(xiàn)窗口刷新的示例代碼

    本文主要介紹了java實(shí)現(xiàn)窗口刷新的示例代碼,通過(guò)重寫paintComponent()方法和調(diào)用repaint()方法,可以實(shí)現(xiàn)窗口的即時(shí)刷新,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • JAVA中取整數(shù)的4種方法總結(jié)

    JAVA中取整數(shù)的4種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于JAVA中取整數(shù)的4種方法,在java的Math類中,提供了許許多多的和數(shù)學(xué)計(jì)算有關(guān)的方法,其中也包括取整的,需要的朋友可以參考下
    2023-07-07
  • Java集合框架概覽之ArrayList源碼刨析

    Java集合框架概覽之ArrayList源碼刨析

    本文主要從一個(gè)簡(jiǎn)單的代碼入手,對(duì)ArrayList?的最常用的源碼進(jìn)行刨析,文中源碼摘自?JDK1.8,源碼的注釋部分博主也加入了自己的翻譯,歡迎讀者食用
    2023-03-03
  • 使用MDC實(shí)現(xiàn)日志鏈路跟蹤

    使用MDC實(shí)現(xiàn)日志鏈路跟蹤

    這篇文章主要介紹了使用MDC實(shí)現(xiàn)日志鏈路跟蹤,在微服務(wù)環(huán)境中,我們經(jīng)常使用Skywalking、CAT等去實(shí)現(xiàn)整體請(qǐng)求鏈路的追蹤,但是這個(gè)整體運(yùn)維成本高,架構(gòu)復(fù)雜,我們來(lái)使用MDC通過(guò)Log來(lái)實(shí)現(xiàn)一個(gè)輕量級(jí)的會(huì)話事務(wù)跟蹤功能,下面就來(lái)看看具體的過(guò)程吧,需要的朋友可以參考一下
    2022-01-01
  • 深入解析Java編程中方法的參數(shù)傳遞

    深入解析Java編程中方法的參數(shù)傳遞

    這篇文章主要介紹了Java編程中方法的參數(shù)傳遞,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • 5個(gè)主流的Java開(kāi)源IDE工具詳解

    5個(gè)主流的Java開(kāi)源IDE工具詳解

    這篇文章主要介紹了5個(gè)主流的Java開(kāi)源IDE工具,無(wú)論如何,Java在當(dāng)今使用的編程語(yǔ)言中始終排在前三名,在TIOBE索引中涉及700萬(wàn)到1000萬(wàn)的程序員和開(kāi)發(fā)者
    2020-07-07
  • IDEA中Maven依賴包下載不了的問(wèn)題解決方案匯總

    IDEA中Maven依賴包下載不了的問(wèn)題解決方案匯總

    這篇文章主要介紹了IDEA中Maven依賴包下載不了的問(wèn)題解決方案匯總,文中通過(guò)圖文示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • springcloud連接遠(yuǎn)程nacos失敗顯示localhost服務(wù)連接失敗的問(wèn)題解決

    springcloud連接遠(yuǎn)程nacos失敗顯示localhost服務(wù)連接失敗的問(wèn)題解決

    這篇文章主要介紹了springcloud連接遠(yuǎn)程nacos失敗顯示localhost服務(wù)連接失敗的問(wèn)題解決,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • 如何使用Java給您的圖片瘦身之Thumbnailator技術(shù)

    如何使用Java給您的圖片瘦身之Thumbnailator技術(shù)

    在java日常開(kāi)發(fā)中經(jīng)常遇到對(duì)圖片資源的操作需求,如壓縮、縮放、旋轉(zhuǎn),下面這篇文章主要給大家介紹了關(guān)于如何使用Java給您的圖片瘦身之Thumbnailator技術(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Java反射(JDK)與動(dòng)態(tài)代理(CGLIB)詳解

    Java反射(JDK)與動(dòng)態(tài)代理(CGLIB)詳解

    下面小編就為大家?guī)?lái)一篇淺談Java反射與動(dòng)態(tài)代理。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-08-08

最新評(píng)論

庆阳市| 镇赉县| 平顶山市| 施秉县| 澄城县| 鹿邑县| 涞源县| 浠水县| 噶尔县| 内丘县| 舒兰市| 吉林市| 两当县| 抚松县| 泾源县| 张家口市| 广昌县| 福鼎市| 宜都市| 县级市| 报价| 安达市| 红原县| 大荔县| 湘阴县| 伊川县| 平和县| 平潭县| 鄂尔多斯市| 伊吾县| 颍上县| 广安市| 西华县| 禄劝| 沙湾县| 府谷县| 随州市| 阜南县| 澄迈县| 沛县| 柳州市|