Tôi có một kho lưu trữ ZIP được nhúng bên trong một tệp lớn hơn. Tôi biết độ lệch bắt đầu của kho lưu trữ trong tệp lớn hơn và độ dài của nó.Đọc các tệp từ một kho lưu trữ ZIP được nhúng
Có thư viện Java nào cho phép tôi đọc trực tiếp các tệp có trong kho lưu trữ không? Tôi đang suy nghĩ dọc theo các dòng của ZipFile.getInputStream()
. Thật không may, ZipFile
không hoạt động cho trường hợp sử dụng này vì các nhà thầu của nó yêu cầu tệp ZIP độc lập.
Vì lý do hiệu suất, tôi không thể sao chép tệp ZIP thành tệp riêng biệt trước khi mở tệp.
chỉnh sửa: Chỉ cần rõ ràng, tôi có quyền truy cập ngẫu nhiên vào tệp.
'java.util.zip.ZipInputStream.ZipInputStream (InputStream)'? – artbristol
Khó. Với một tệp ZIP, trước tiên bạn cần đọc thư mục, đây là thư mục cuối cùng, vì vậy bạn cần truy cập ngẫu nhiên.Bạn * có thể * đọc tất cả các mục trong một lần từ đầu, và điều đó sẽ làm việc với hầu hết các tệp zip, nhưng định dạng chính nó cho phép những điều thú vị như mục trùng lặp và dữ liệu rác ngẫu nhiên giữa các mục nhập. – Thilo
@Thilo: Chỉ cần rõ ràng, tôi có quyền truy cập ngẫu nhiên vào tệp. – NPE