[java] 자바에서 압축 파일 내 특정 파일의 경로 가져오기

자바에서는 java.util.zip 패키지를 사용하여 압축 파일을 처리할 수 있습니다. 해당 패키지를 사용하여 특정 압축 파일 내의 파일 경로를 가져오는 방법에 대해 알아보겠습니다.

1. Zip 파일 내의 파일 목록 얻기

우선, 압축 파일 내의 파일 목록을 얻기 위해서는 ZipFile 클래스를 사용합니다. 아래 코드는 압축 파일 내의 모든 파일을 출력하는 예제입니다.

import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.Enumeration;

public class ZipFileExample {
    public static void main(String[] args) {
        try {
            ZipFile zipFile = new ZipFile("path/to/your/zip/file.zip");
            Enumeration<? extends ZipEntry> entries = zipFile.entries();

            while (entries.hasMoreElements()) {
                ZipEntry entry = entries.nextElement();
                System.out.println(entry.getName());
            }

            zipFile.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2. 특정 파일 경로 가져오기

압축 파일 내의 특정 파일의 경로를 가져오기 위해서는 압축 파일 내의 모든 파일을 검사하면서 원하는 파일을 찾아야 합니다. 아래 코드는 원하는 파일명으로 파일을 찾아 경로를 출력하는 예제입니다.

import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.Enumeration;

public class SpecificFileInZip {
    public static void main(String[] args) {
        try {
            String fileNameToFind = "path/to/your/file.txt";
            ZipFile zipFile = new ZipFile("path/to/your/zip/file.zip");
            Enumeration<? extends ZipEntry> entries = zipFile.entries();

            while (entries.hasMoreElements()) {
                ZipEntry entry = entries.nextElement();
                if (entry.getName().equals(fileNameToFind)) {
                    System.out.println("File found at: " + entry.getName());
                    break;
                }
            }

            zipFile.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위 코드를 참고하여 특정 압축 파일 내의 파일 경로를 가져올 수 있습니다.

참고 자료