Tôi nhận được một ZipInputStream từ một nguồn khác và tôi cần cung cấp InputStream của mục nhập đầu tiên cho một nguồn khác. Tôi đã hy vọng để có thể làm điều này mà không cần tiết kiệm một tập tin tạm thời trên một thiết bị, tuy nhiên cách duy nhất tôi biết nhận được một InputStream cho một mục cá nhân là thông qua ZipFile.getInputStream (mục) và kể từ khi tôi có một ZipInputStream và không phải là ZipFile, điều đó là không thể.là nó có thể nhận được đầu vào của một zipentry từ một zipinputstream?
Vì vậy, giải pháp tốt nhất tôi có là
- tiết kiệm InputStream đến vào một tập tin
- tập đọc như InputStream
- tập tin tạm thời xóa ZipFile
- sử dụng đầu tiên nhập của.
Tôi không hiểu ý bạn là gì? Bạn có thể thêm mẫu mã không? – Whitecat
Điều anh ta có nghĩa là ZipInputStream có thể được sử dụng cho cả zip và đọc từng thành phần. .getNextEntry() tiến tới thành phần đầu tiên, đọc nó, làm một thành phần khác .getNextEntry() và luồng của bạn được đặt lại thành phần thứ hai và vân vân .. Thông minh, thực sự. – akauppi