JAR 아카이브 작업 시 일반적인 작업 중 하나는 포함된 파일을 나열하는 것입니다. 이는 특정 파일을 추출하거나 아카이브 내용의 인벤토리를 생성하는 등 다양한 목적에 유용할 수 있습니다.
Java는 ZIP 파일 처리를 위한 광범위한 클래스 세트를 제공합니다. JAR 아카이브를 포함합니다. ZipInputStream 클래스를 사용하면 JAR 파일의 항목을 반복하고 해당 메타데이터에 액세스할 수 있습니다.
JAR 내의 파일을 나열하려면 다음 단계를 따르세요.
다음 코드는 모든 항목을 나열하는 예를 보여줍니다. JAR 내의 파일:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry e = zip.getNextEntry(); if (e == null) { break; } System.out.println(e.getName()); } } else { System.out.println("JAR not found"); }
Java 7에는 ZIP 파일 작업 프로세스를 단순화하는 새로운 기능이 도입되었습니다. FileSystem 클래스를 사용하여 ZIP 파일을 읽기 전용 파일 시스템으로 마운트할 수 있습니다. 이를 통해 표준 Java I/O 라이브러리를 사용하여 JAR 파일의 내용을 탐색하고 나열할 수 있습니다.
다음 코드는 FileSystem 클래스를 사용하여 JAR 내의 파일을 나열하는 예를 보여줍니다.
Path jarPath = Paths.get("/path/to/my.jar"); FileSystem fs = FileSystems.newFileSystem(jarPath, null); Path root = fs.getPath("/"); Files.walk(root) .filter(path -> path.toString().startsWith("path/to/your/dir/")) .forEach(System.out::println);
이 코드는 파일 및 디렉터리 작업을 위한 고급 API를 제공하는 Files 클래스를 사용하여 JAR 파일의 루트 디렉터리를 탐색하고 일치하지 않는 모든 파일을 필터링합니다. 원하는 기준.
위 내용은 Java를 사용하여 JAR 파일 내의 파일을 어떻게 나열할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!