우편을 업로드하고 읽을 파일을 압축 해제 자바

면책 조항 :이 문서는 블로거 원본입니다, 추적 에 의해-SA의 CC 4.0 저작권 계약, 복제, 원본 소스 링크이 문을 첨부 해주세요.
이 링크 : https://blog.csdn.net/weixin_43914888/article/details/101549748

최근 이러한 요구 사항 발생 : 지금 학습, 내부의 파일 저장 배경을 읽은 후, 압축 해제를 배경 패킷 압축을 전달합니다. 여기에 기록 될

파일 업로드

파일을 업로드하는 방법에는 여러 가지가 그것을 자신의 코드의 서비스의 아주 좋은 감각 여기 권장 있습니다 :

 @PostMapping(value = "/import", headers = "content-type=multipart/*")

    public R importSqlLite(@RequestParam("file") MultipartFile file) {
     String path = "C:/Users/aaa/Desktop/新建文件夹/";

            File newFile = new File(path + file.getOriginalFilename());
            //通过CommonsMultipartFile的方法直接写文件(注意这个时候)

            file.transferTo(newFile);
    }

파일 압축 해제

블로그를 많이 찍은, 우리는 두 가지를 해소하는 방법을 발견 한이 패키지는 SpringBoot입니다 org.apache.tools.zip.ZipFile 도구를 사용하는 것입니다 net.lingala.zip4j.core.ZipFile 온다. 두 번째, 제공하는 코드의 사용에 SpringBoot 프로젝트를 사용하기 때문에 :

 //解压路径
    private String dest = "C:\\Users\\aaa\\Desktop\\新建文件夹";
    //解压后图片保存的路径
    private String picPath = "C:/Users/aaa/Desktop/新建文件夹/pic";


    public String Uncompress(String source) {
        List<String> picPaths = new ArrayList<>();
        try {
            File zipFile = new File(source);
            ZipFile zFile = new ZipFile(zipFile);// 首先创建ZipFile指向磁盘上的.zip文件

            zFile.setFileNameCharset("GBK");

            File destDir = new File(dest);// 解压目录 
            zFile.extractAll(dest);// 将文件抽出到解压目录
              if (zFile.isEncrypted()) {   
                  zFile.setPassword(password.toCharArray());  // 设置密码   
              }
              zFile.extractAll(dest);      // 将文件抽出到解压目录(解压)   
     
             List<net.lingala.zip4j.model.FileHeader > headerList = zFile.getFileHeaders(); 
              List<File> extractedFileList= newArrayList<File>(); 
              for(FileHeader fileHeader : headerList) { 
                  if (!fileHeader.isDirectory()) { 
                      extractedFileList.add(new File(destDir,fileHeader.getFileName())); 
                  } 
              } 
              File [] extractedFiles = new File[extractedFileList.size()]; 
             extractedFileList.toArray(extractedFiles); 
              for(File f:extractedFileList){
                System.out.println(f.getAbsolutePath()+"....");
              }

      }catch(ZipException e) {
      } 

추천

출처blog.csdn.net/weixin_43914888/article/details/101549748