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;
        }
  • 相关阅读:
    使用Pandas DataFrames在Python中绘制条形图
    在Pandas DataFrames中选择行和列使用iloc,loc和ix
    如何使用[] 、. loc,iloc,.at和.iat
    Pandas 分类数据
    按索引和值对Pandas DataFrame进行排序
    可能需要的建议
    时间线
    第四章-赶路
    第三章-担忧
    lipo命令拆分、合并iOS静态库
  • 原文地址:https://www.cnblogs.com/memoryXudy/p/8709995.html
Copyright © 2011-2022 走看看