我想询问是否可以访问和修改zip文件中的文本文件,该文件在另一个zip包中压缩。
我知道可以使用Java.nio FileSysten这样访问该文件。在这个例子中读取" sample.txt"中的所有行。文件。
FileSystem fileSystem = FileSystems.newFileSystem(new URI("jar:file", "sample/path/to/zipfile/main.zip", null), new HashMap<>());
readAllLines("sample.txt");
,其中
public List<String> readAllLines(String fileName) {
List<String> file = new ArrayList<>();
Path rootDir = fileSystem.getRootDirectories().iterator().next();
try (DirectoryStream<Path> files = Files.newDirectoryStream(rootDir,
entry -> entry.toString().equalsIgnoreCase("/" + fileName))) {
Path path = files.iterator().next();
file = Files.readAllLines(path, Charset.forName("ISO-8859-1"));
} catch (NoSuchElementException | IOException e) {
e.printStackTrace();
}
return file;
}
我想问一下,如果可以阅读这个&#34; sample.txt&#34;文件也是如果它将位于2个拉链包深度。比如mainzip.zip/sample.zip/sample.txt
mainzip.zip
|
|-sample.zip
|
|-sample.txt
|-another.zip
当然我现在想要解压缩mainzip.zip。
感谢您提供任何提示