Java에서 Zip 파일에 추가: TrueZip 및 Java 7
WAR 파일을 추출, 수정, 재패키징하는 과정에서 이는 일반적입니다. 기존 WAR 아카이브에 파일을 직접 추가하여 효율성을 높이는 것을 고려합니다. Java 문서에는 이 작업에 대한 명시적인 방법이 없지만 사용 가능한 솔루션이 있습니다.
TrueZip 라이브러리
한 가지 옵션은 업데이트된 설명서에 제안된 대로 TrueZip 라이브러리를 활용하는 것입니다. 문의. TrueZip은 Zip 아카이브를 조작하고 추가하기 위한 특정 기능을 제공합니다. TrueZip을 사용하면 대상 Zip 파일에서 파일을 선택적으로 추가, 업데이트 및 삭제할 수 있습니다.
Java 7의 Zip 파일 시스템
또한 Java 7에서는 Zip 파일이 도입되었습니다. 다시 포장하지 않고도 Zip 아카이브를 수정할 수 있는 시스템입니다. Zip 파일 시스템을 사용하면 표준 Java I/O 작업을 사용하여 Zip 아카이브 내의 파일에 직접 쓰거나 파일을 수정할 수 있습니다. 예를 들면 다음과 같습니다.
Map<String, String> env = new HashMap<>(); env.put("create", "true"); Path path = Paths.get("test.zip"); URI uri = URI.create("jar:" + path.toUri()); try (FileSystem fs = FileSystems.newFileSystem(uri, env)) { Path nf = fs.getPath("new.txt"); try (Writer writer = Files.newBufferedWriter(nf, StandardCharsets.UTF_8, StandardOpenOption.CREATE)) { writer.write("hello"); } }
Zip 파일 시스템을 사용하면 마치 일반 파일 시스템인 것처럼 Zip 아카이브와 상호 작용할 수 있어 효율적인 파일 추가 및 수정이 가능합니다.
위 내용은 TrueZip 또는 Java 7의 Zip 파일 시스템을 사용하여 Java의 기존 Zip 아카이브에 파일을 추가하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!