zoukankan      html  css  js  c++  java
  • byte转文件流 下载到本地

    此方法将byte类型文件转为文件流保存到本地

    byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁

      /**
         *   byte 转文件 下载到本地
         * @param fileName
         * @param
         */
        public String conserveFile(String fileName, String bytes) {
            String rootPath =  ConversionFactoryUtil.rootPath()+File.separator;
            InputStream inputStream = null;
            InputStream inputStreams = null;
    
            try {
                String tempPath = "Files";
                String filePath = rootPath+tempPath+File.separator+File.separator+fileName;
                // 相对路径
                String relativePath =File.separator+ tempPath+File.separator+File.separator+fileName;
                inputStream = new ByteArrayInputStream(bytes.getBytes());
                // 进行解码
                BASE64Decoder base64Decoder = new BASE64Decoder();
                byte[] byt = base64Decoder.decodeBuffer(inputStream);
                inputStreams = new ByteArrayInputStream(byt);
                File folder = new File(rootPath+tempPath+File.separator); // 创建文件夹
                if (!folder.exists()){
                    folder.mkdir();
                }
                File file = new File(filePath);
                if (file.exists()) {
                    //如果文件存在,则删除文件
                    file.delete();
                }
                Files.copy(inputStreams, Paths.get(filePath));
                return relativePath;
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
    
                if (inputStream != null && inputStreams != null) {
                    try {
                        inputStream.close();
                        inputStreams.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return null;
        }
  • 相关阅读:
    spring入门-day01
    HTML概述
    day21-基础加强
    iptables
    25个iptables常用示例
    Linux安全调优1:CentOS防火墙的设置与优化
    sessionStorage 的数据会在同一网站的多个标签页之间共享吗?这取决于标签页如何打开
    JavaScript reduce() 方法
    classList属性和className的区别
    NPM 学习笔记整理
  • 原文地址:https://www.cnblogs.com/memoryXudy/p/8709995.html
Copyright © 2011-2022 走看看