> Java > java지도 시간 > Java에서 JAR 파일 내의 파일을 어떻게 나열할 수 있습니까?

Java에서 JAR 파일 내의 파일을 어떻게 나열할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-24 13:50:10
원래의
1023명이 탐색했습니다.

How Can I List Files Inside a JAR File in Java?

JAR 파일 내의 파일 나열

Java에서는 listFiles() 메소드를 사용하여 디렉토리 내의 파일 목록을 얻을 수 있습니다. . 그러나 내용을 검색하기 위해 JAR 파일에 직접 적용할 수는 없습니다.

이를 달성하려면 Java의 CodeSource 클래스를 활용할 수 있습니다.

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
  URL jar = src.getLocation();
  try (ZipInputStream zip = new ZipInputStream(jar.openStream())) {
    while (true) {
      ZipEntry e = zip.getNextEntry();
      if (e == null) {
        break;
      }
      String name = e.getName();
      if (name.startsWith("path/to/your/dir/")) {
        // Process the entries within the specified directory.
      }
    }
  } catch (IOException ex) {
    // Handle I/O exceptions.
  }
} else {
  // Handle the case where no CodeSource is available.
}
로그인 후 복사

참고:

  • ZipInputStream은 JAR 파일을 ZIP으로 읽습니다. archive.
  • ZipEntry 클래스는 JAR 파일 내의 개별 항목(파일)을 나타냅니다.
  • getNextEntry() 메소드는 JAR 파일의 다음 항목을 검색하여 해당 내용을 반복할 수 있도록 합니다.

자바 7 향상된 기능:

Java 7 이상에서는 FileSystems.newFileSystem() 메서드를 사용하여 JAR 파일에서 직접 FileSystem 객체를 생성할 수 있습니다. 이를 통해 NIO의 디렉터리 탐색 및 필터링 메커니즘을 사용하여 JAR 파일 콘텐츠에 액세스할 수 있으므로 JAR 및 "폭발된" 디렉터리를 모두 더 편리하게 처리할 수 있습니다.

위 내용은 Java에서 JAR 파일 내의 파일을 어떻게 나열할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿