美文网首页
zip流 base64 解析下载

zip流 base64 解析下载

作者: striveSmile | 来源:发表于2020-11-06 15:09 被阅读0次
    public class ZipBase64Utils {
    
       /**
        * base64
        *
        * @param bytes      流
        * @param fileName   文件昵称
        * @param folderPath 下载的地址
        */
       public static void writeByte64Zip(byte[] bytes, String fileName, String folderPath) throws Exception {
    
           BufferedOutputStream bos = null;
           FileOutputStream fos = null;
           File file = null;
           file = new File(folderPath + File.separator + fileName);  //项目文件路径
           file.createNewFile();
           fos = new FileOutputStream(file);
           bos = new BufferedOutputStream(fos);
           bos.write(bytes);
           // 关闭资源
           bos.close();
       }
    
       /**
        * @param file 文件
        * @return
        * @throws Exception
        */
       public static List<String> readZipCvsFile(File file) throws Exception {
           List<String> files = new ArrayList<>();
           //获得输入流,文件为zip格式,
           //zip可以包含对个文件,如果只有一个文件,则只解析一个文件的,包含多个文件则分别解析
           ZipInputStream in = new ZipInputStream(new FileInputStream(file));
           //不解压直接读取,加上gbk解决乱码问题
           BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8"));
           ZipEntry zipFile;
           //循环读取zip中的cvs/txt文件,zip文件名不能包含中文
           while ((zipFile = in.getNextEntry()) != null) {
               //如果是目录,不处理
               if (zipFile.isDirectory()) {
                   System.err.println("当前路径为目录:" + zipFile.getName());
               }
               //获得cvs名字
               String fileName = zipFile.getName();
               //检测文件是否存在
               if (fileName != null && fileName.contains(".")) {
                   System.out.println("---------------------开始解析文件:" + fileName + "-----------------------------");
                   String line;
                   while ((line = br.readLine()) != null) {
                       files.add(line);
                   }
               }
           }
           //关闭流
           br.close();
           in.close();
           return files;
       }
    
    }
    

    相关文章

      网友评论

          本文标题:zip流 base64 解析下载

          本文链接:https://www.haomeiwen.com/subject/igptbktx.html