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记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

  • 相关阅读:
    C# 操作配置文件
    C# Excel操作类
    没有找到 mspdb100.dll 的解决办法
    工厂方法模式
    .Net互操作2
    The certificate used to sign “AppName” has either expired or has been revoked. An updated certificate is required to sign and install the application解决
    手机抓包xcode自带命令行工具配合wireshark实现
    expecting SSH2_MSG_KEX_ECDH_REPLY ssh_dispatch_run_fatal问题解决
    使用ssh-keygen设置ssh无密码登录
    远程复制文件到服务器
  • 原文地址:https://www.cnblogs.com/bgyb/p/13395662.html
Copyright © 2011-2022 走看看