可以java.nio.file.FileSystem
为 zip 文件中的 zip 文件创建一个吗?
如果是这样,URI 是什么样的?
如果没有,我假设我将不得不回退到使用 ZipInputStream。
我正在尝试递归到下面的方法。当前实现创建了一个 URI“jar:jar:...”。我知道那是错误的(并且是对电影角色的潜在创伤性提醒)。应该是什么?
private static void traverseZip(Path zipFile ) {
// Example: URI uri = URI.create("jar:file:/codeSamples/zipfs/zipfstest.zip");
String sURI = "jar:" + zipFile.toUri().toString();
URI uri = URI.create(sURI);
Map<String, String> env = new HashMap<>();
try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {
Iterable<Path> rootDirs = fs.getRootDirectories();
for (Path rootDir : rootDirs) {
traverseDirectory(rootDir ); // Recurses back into this method for ZIP files
}
} catch (IOException e) {
System.err.println(e);
}
}