지퍼 아카이브 생성을 취소하십시오
Contents
[
Hide
Show
]여러 가지 이유로 Zip Archive Creation을 취소하려는 경우가 발생할 수 있습니다. 너무 오래 걸리거나 실제로 일부 항목이 필요하지 않습니다.
개요
아카이브 관련 이벤트 용 컨테이너 인
Eventsbag 클래스가 있습니다. 이제 하나의 이벤트를 지원합니다 -Entictompressed
(
getentRycompressed/
setentRycompressed). 아카이브 항목이 압축 된 후에 증가하고 취소 가능합니다.
긴 아카이브 생성 취소
Zip Archive가 약 1 분 안에 구성되기를 원한다고 가정 해 봅시다. 일부 항목이 압축 된 후 압축 시작부터 취한 시간을 점검하고 1 분 이상이 걸리면 프로세스를 취소하십시오. 결과 아카이브는 이미 이벤트를 포함한 하나를 포함하여 항목을 이미 압축했을 것입니다.
1try (Archive Archive = new Archive ()) {
2 Archive.createentries ( "d : \\ bigfolder");
3 이벤트 백 eb = 새로운 이벤트 백 ();
4
5 Instant starts = Instant.now();
6
7 eb.setEntryCompressed((sender, args) -> {
8 if (starts.plusSeconds(60).isBefore(Instant.now()))
9 args.setCancel(true);
10 });
11 ArchiveSaveOptions options = new ArchiveSaveOptions();
12 options.setEventsBag(eb);
13 archive.save("output.zip", options);
14}
특정 항목 후 취소
스 니펫 후 특정 항목이 압축 된 후 취소하려면 :
1try (Archive Archive = new Archive ()) {
2 Archive.createentries ( "d : \\ bigfolder");
3 이벤트 백 eb = 새로운 이벤트 백 ();
4 eb.setentRycompressed ((Sender, Args) -> {
5 System.out.println (args.getentry (). getName ());
6 if (args.getEntry (). getName (). Equals ( "bigfolder \\ last.bin"))
7 args.setcancel (true);
8 });
9 ArchivesAveOptions 옵션 = 새 아카이브 aveOptions ();
10 옵션 .seteventsbag (EB);
11 archive.save ( "output.zip", 옵션);
12}