【发布时间】:2015-04-23 06:05:16
【问题描述】:
我的文件结构如下:
C:/test/example1/file1.txt
C:/test/file2.txt
C:/test/file3.txt
如何归档这些文件和目录,以便生成的 zip 看起来像这样:
Archive.zip
example
file1.txt
file2.txt
file3.txt
就像 WinRar 在选择多个文件和文件夹进行压缩时所做的那样。
代码:
Path baseDir = Paths.get(content.toString());
Path zipPath = Paths.get(mainJarDir.toString());
Map<String, ?> env = Collections.singletonMap("create", "true");
URI uri = URI.create("jar:" + zipPath.toUri());
try {
final FileSystem zipfs = FileSystems.newFileSystem(uri, env);
}
catch (Exception e) {
e.printStackTrace();
try {
MoreFiles.copyRecursive(baseDir, zipfs.get("/"), RecursionMode.FAIL_FAST, StandardCopyOption.REPLACE_EXISTING);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
【问题讨论】:
标签: java file directory compression zip