需要达到的效果
源文件路径:D:/恐龙/扛狼扛狼扛/我没k.txt
生成的压缩文件地址:D:/恐龙/我没k.zip
希望zip解压后看到的目录效果:/扛狼扛狼扛/我没k.txt
简单易懂的代码
public static void main(String[] args) {
Path path1 = Paths.get("D:\\恐龙\\我没k.zip");
File file = new File(path1.toString());
Path path2 = Paths.get("D:\\恐龙\\扛狼扛狼扛\\我没k.txt");
File fileTest = new File(path2.toString());
ZipOutputStream outputStream = null;
FileInputStream zipInputStream = null;
try {
outputStream = new ZipOutputStream(new FileOutputStream(file.getAbsolutePath()));
zipInputStream = new FileInputStream(fileTest.getAbsolutePath());
ZipEntry zipEntry = new ZipEntry(fileTest.getParentFile().getName() + "/" + fileTest.getName());
outputStream.putNextEntry(zipEntry);
byte[] buff = new byte[1024];
int len = -1;
while ((len = zipInputStream.read(buff)) != -1) {
outputStream.write(buff, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
assert outputStream != null;
outputStream.closeEntry();
outputStream.close();
assert zipInputStream != null;
zipInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
思考
认真观察路径参数起到作用