zoukankan      html  css  js  c++  java
  • 一行代码实现将字节流写入磁盘生成文件

    前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i

    今天我们来使用一个极其简单的操作文件工具类,使用apache当中commons下的文件工具类FileUtils,使用它能大大的简化我们对文件的操作。

    1.导入FileUtils的依赖

    1  <!-- FileUtils依赖-->
    2         <dependency>
    3             <groupId>commons-io</groupId>
    4             <artifactId>commons-io</artifactId>
    5             <version>2.4</version>
    6         </dependency>

    2.引入io包使用FileUtils类生成一张gif图片到磁盘中

    1  //获取网上资源图片,下载到本地磁盘
    2     @RequestMapping("/dowload")
    3     public void dowload()throws Exception{
    4         InputStream in = new URL("http://www.baidu.com/img/baidu_logo.gif").openStream();
    5         byte [] gif = IOUtils.toByteArray(in); //将文件转换字节数组
    6         String outpath = "E:\test.gif";
    7         FileUtils.writeByteArrayToFile(new File(outpath),gif);//导出路径文件格式,字节数组
    8     }

    结果说明:可以看出E盘根目录下生成了test.gif这么一个文件,测试通过!!!

     3.使用FileUtils文件工具类生成MP3格式音频文件

    说明:此处音频字节数组是从redis中获取,请关注上篇文章:将音频文件转二进制分包存储到Redis(奇淫技巧操作)

     1    /**
     2      * 从redis中分包取值进行byte[]数组合并解析音频
     3      */
     4     @RequestMapping("/getkeyAudio")
     5     public void getKey(HttpServletResponse response) throws Exception{
     6         OutputStream os = response.getOutputStream();
     7         List list =redisTemplate.opsForList().range("Audio", 0, -1); //通过key获取指定区间的值,List方式存储用List集合去接收
     8 
     9         //合并音频字节数组
    10         List<byte[]> blist = list;
    11         int lengthTotal = 0;
    12         for (byte[] item : blist) {
    13             lengthTotal += item.length;
    14         }
    15         byte[] totalByte = new byte[lengthTotal];
    16         int begin = 0;
    17         for (byte[] item : blist) {
    18             //System.arraycopy(原数组, 原数组起始位置, 目标数组, 目标数组起始位置, 复制长度);
    19             System.arraycopy(item, 0, totalByte, begin, item.length);
    20             begin += item.length;
    21         }
    22 
    23         String outfile = "E:\Audio.mp3";
    24         FileUtils.writeByteArrayToFile(new File(outfile),totalByte);//导出路径文件格式,字节数组
    25 
    26     }

    结果:再次回到E盘,效果和我预期的一致生成了MP3格式的音频文件(可以正常播放的哈!)

    个人总结:

    我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

  • 相关阅读:
    Spring 增强类型
    Spring IOC及Bean的生命周期
    Spring
    Mybatis注解
    MyBatis关联查询
    LoadRunner(1)
    Selenium(6)
    Selenium(5)
    Selenium(4)
    Selenium(3)
  • 原文地址:https://www.cnblogs.com/bgyb/p/13395662.html
Copyright © 2011-2022 走看看