使用稍微修改的http://www.java2s.com/Code/Java/File-Input-Output/Makingazipfileofdirectoryincludingitssubdirectoriesrecursively.htm将目录压缩到一个zip中,我留下了这个:
源路径
E:someDir/someDir/somefile
和.zip中的路径
E:someDir/someDir/somefile
我想进入.zip是
someDir/somefile
但是,如果完整的dir路径在程序的用户之间会有所不同,如何实现呢?
答案 0 :(得分:1)
从帖子的示例中,此行是需要修改的内容:
out.putNextEntry(new ZipEntry(files[i].getAbsolutePath()));
应该是
out.putNextEntry(new ZipEntry("someDir/somefile"));
但是,您应该能够从完整的源路径someDir/somefile
派生E:someDir/someDir/somefile
。您应该可以通过子字符串或附加File.getParentFile()