JAVA 에서 여러 개의 파일 스 트림 을 생 성하 고 zip 으로 포장 하 는 방식 으로 모든 스 트림 작업 이 완료 되 었 습 니 다.

1411 단어 JAVA
우선, 프로젝트 에 jar 패 키 지 를 도입 해 야 합 니 다.

    org.apache.commons
    commons-compress
    1.12


 우 리 는 여러 개의 엑셀 파일 흐름 으로 zip 패 키 지 를 생 성하 여 시범 을 보 였 다.
//1: 엑셀 파일 list 가 져 오기
List workbookList = XXXXService.getBillWorkbookList(xxxxList);
//2: 자 response 의 흐름 을 ZipArchive OutputStream 으로 보 내 고 이 대상 을 만 듭 니 다.                ZipArchiveOutputStream zous = new ZipArchiveOutputStream(outputStream);                 zous.setUseZip64(Zip64Mode.AsNeeded);
//파일 목록 옮 겨 다 니 기                for (Workbook workbook : workbookList) {
                   //파일 이름                    String fileName = UUID.randomUUID() + ".xlsx";
                   //다음 세 줄 이 죠? 엑셀 파일 은 스 트림 으로 byte [] 로 바 뀌 었 습 니 다.                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                     workbook.write(baos);                     byte[] bytes = baos.toByteArray();                     ArchiveEntry entry = new ZipArchiveEntry(fileName);                     zous.putArchiveEntry(entry);                     zous.write(bytes);                     zous.closeArchiveEntry();                     if (baos != null) {                         baos.close();                     }                 }                 zous.close();             }
이렇게 하면 이 조작 을 완성 할 수 있다.

좋은 웹페이지 즐겨찾기