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

Java實現(xiàn)各種文件類型轉換方式(收藏)

 更新時間:2022年03月04日 11:24:54   作者:小小張自由—>張有博  
這篇文章主要介紹了Java?各種文件類型轉換的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.網(wǎng)絡資源轉File

需要引入依賴commons-io

   /**
     * 讀取網(wǎng)絡中的圖片
     * @param url https://www.kziyue.com/wp-content/uploads/2019/06/5bca-hxyuaph9825616.jpg
     * @return
     */
    public File URLToFile(String url){
        File file1 = new File("test.png");
        try {
 
            URL url1 = new URL(url);
            FileUtils.copyURLToFile(url1,file1);
 
        } catch (IOException e) {
            e.printStackTrace();
        }
        File absoluteFile = file1.getAbsoluteFile();
        return file1;
    }

2.網(wǎng)絡資源轉MultipartFile

需要引入依賴spring-web

 /**
     * 文件上傳
     * @param urlStr url地址
     * @return multipartFile
     */
    public MultipartFile fileUpload(String urlStr) throws Exception {
        try {
            //把地址轉換成URL對象
            URL url = new URL(urlStr);
            //創(chuàng)建http鏈接
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            //設置超時間為3秒
            conn.setConnectTimeout(3*1000);
            //防止屏蔽程序抓取而返回403錯誤
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)");
            //得到輸入流
            InputStream inputStream = conn.getInputStream();
            //截取鏈接中的文件名
            String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1);
            MultipartFile multipartFile = new MockMultipartFile(fileName,fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
 
            return multipartFile;
        } catch (Exception e) {
            e.printStackTrace();
        }
        throw new Exception();
 
    }

3.File轉MultipartFile

需要引用的依賴spring-text,httpcore

    /**
     * 文件類型轉換
     *
     * @param filePath 文件file
     * @return MultipartFile
     */
    public static MultipartFile caseFileToMultipartFile(File filePath) {
        MultipartFile multipartFile = null;
        try {
            log.info("開始進行文件轉換");
            FileInputStream fileInputStream = new FileInputStream(filePath);
            multipartFile = new MockMultipartFile(filePath.getName(), filePath.getName(),
                    ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
        return multipartFile;
    }

4.File轉字節(jié)數(shù)組

 /**
     * 將文件轉為字節(jié)數(shù)組
     * @param file 
     * @param size 1024
     * @return
     */
    public static byte[] BufferStreamForByte(File file, int size) {
        byte[] content = null;
        try {
            BufferedInputStream bis = null;
            ByteArrayOutputStream out = null;
            try {
                FileInputStream input = new FileInputStream(file);
                bis = new BufferedInputStream(input, size);
                byte[] bytes = new byte[1024];
                int len;
                out = new ByteArrayOutputStream();
                while ((len = bis.read(bytes)) > 0) {
                    out.write(bytes, 0, len);
                }
 
                bis.close();
                content = out.toByteArray();
            } finally {
                if (bis != null) {
                    bis.close();
                }
                if (out != null) {
                    out.close();
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return content;
 
    }

5.Frame轉BufferedImage

需要引入依賴javacv

 public static BufferedImage FrameToBufferedImage(Frame frame) {
        //創(chuàng)建BufferedImage對象
        Java2DFrameConverter converter = new Java2DFrameConverter();
        BufferedImage bufferedImage = converter.getBufferedImage(frame);
        return bufferedImage;
    }

6.BufferedImage轉MultipartFile

 
 public static MultipartFile fileCase(BufferedImage image){
        //得到BufferedImage對象
       // BufferedImage bufferedImage = JoinTwoImage.testEncode(200, 200, url);
        MultipartFile multipartFile= null;
        try {
            //創(chuàng)建一個ByteArrayOutputStream
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            //把BufferedImage寫入ByteArrayOutputStream
            ImageIO.write(image, "jpg", os);
            //ByteArrayOutputStream轉成InputStream
            InputStream input = new ByteArrayInputStream(os.toByteArray());
            //InputStream轉成MultipartFile
            multipartFile =new MockMultipartFile("file", "file.jpg", "text/plain", input);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return multipartFile;
 
    }
 

到此這篇關于Java 各種文件類型轉換的方法的文章就介紹到這了,更多相關Java 文件類型轉換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何使用Jenkins構建GIT+Maven項目

    如何使用Jenkins構建GIT+Maven項目

    這篇文章主要介紹了如何使用Jenkins構建GIT+Maven項目,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 重新實現(xiàn)hashCode()方法

    重新實現(xiàn)hashCode()方法

    hashCode()是Java中的一個重要方法,用于計算對象的哈希碼。本文介紹了如何重新實現(xiàn)hashCode()方法,包括使用對象的屬性計算哈希碼、使用字符串拼接計算哈希碼、使用隨機數(shù)計算哈希碼等方法。同時,還介紹了如何避免哈希沖突,提高哈希表的效率。
    2023-04-04
  • springboot實現(xiàn)瀏覽器截屏并添加文字

    springboot實現(xiàn)瀏覽器截屏并添加文字

    大家好,本篇文章主要講的是springboot實現(xiàn)瀏覽器截屏并添加文字,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Spring Boot與RabbitMQ結合實現(xiàn)延遲隊列的示例

    Spring Boot與RabbitMQ結合實現(xiàn)延遲隊列的示例

    本篇文章主要介紹了Spring Boot與RabbitMQ結合實現(xiàn)延遲隊列的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 利用Java Set 去除重復object的方法

    利用Java Set 去除重復object的方法

    下面小編就為大家?guī)硪黄肑ava Set 去除重復object的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • SpringCloud之Feign示例詳解

    SpringCloud之Feign示例詳解

    本篇文章主要介紹了SpringCloud之Feign示例詳解,詳細的介紹了Feign簡介和使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • java利用DFA算法實現(xiàn)敏感詞過濾功能

    java利用DFA算法實現(xiàn)敏感詞過濾功能

    在最近的開發(fā)中遇到了敏感詞過濾,便去網(wǎng)上查閱了很多敏感詞過濾的資料,在這里也和大家分享一下自己的理解。下面這篇文章主要給大家介紹了關于java利用DFA算法實現(xiàn)敏感詞過濾功能的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • Springboot @Import 詳解

    Springboot @Import 詳解

    這篇文章主要介紹了Springboot @Import 詳解,仔細看了下Springboot關于@Import的處理過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • JAVA實現(xiàn)讀取txt文件內(nèi)容的方法

    JAVA實現(xiàn)讀取txt文件內(nèi)容的方法

    本篇文章主要介紹了JAVA實現(xiàn)讀取txt文件內(nèi)容的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Java數(shù)組去重復的18種方法示例

    Java數(shù)組去重復的18種方法示例

    這篇文章主要為大家介紹了Java數(shù)組去重復的18種寫法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論

仙居县| 会宁县| 东台市| 临西县| 高邮市| 辽宁省| 灵山县| 临洮县| 邮箱| 长治县| 甘德县| 三原县| 廉江市| 边坝县| 烟台市| 霍林郭勒市| 永胜县| 新丰县| 自治县| 定南县| 五峰| 尉犁县| 舞钢市| 东台市| 普格县| 贵溪市| 水富县| 马鞍山市| 漳州市| 府谷县| 木兰县| 徐闻县| 阜新| 龙井市| 佛冈县| 海伦市| 宜兰市| 珠海市| 大同市| 霍山县| 平阴县|