我正在为我正在制作的程序开发安装程序,它使用 zip 文件,由于某种原因,我找不到从 zip 文件夹解压缩和安装文件的方法。如果有人可以帮助我,我会非常高兴。
问问题
66 次
2 回答
1
试试这个解压缩你的文件:
String zipName = "my.zip";
String installDir = "/home/user/installDir";
try
{
ZipFile zipFile = new ZipFile(zipName);
files = zipFile.entries();
while (files.hasMoreElements())
{
ZipEntry zipEntry = files.nextElement();
if(zipEntry.isDirectory())
{
(new File(installDir + zipEntry.getName())).mkdir();
continue;
}
InputStream in = zipFile.getInputStream(zipEntry);
File newFile = new File("/home/user/tmp/testdit" + File.separator + zipEntry.getName());
new File(newFile.getParent()).mkdirs();
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) >= 0)
{
fos.write(buffer, 0, len);
}
in.close();
fos.close();
}
} catch (IOException ex)
{
ex.printStackTrace();
}
于 2013-02-11T22:26:34.587 回答
1
虽然java.util.zip
Apache commons-io 提供了很好的机制来从 Java 中的 zip 文件中读取数据,但如果您真的想将 zip 文件解压到磁盘上并保留目录结构,那么最简单的 Java API 可能是 Apache Ant。
Project p = new Project();
p.init();
Expand ex = new Expand();
ex.setProject(p);
ex.setSrc(new File("myArchive.zip"));
ex.setDest(new File("targetDir"));
ex.perform();
但正如其他评论者所指出的,您可能应该考虑使用现有的安装程序构建工具,例如IZPack,而不是重新发明轮子。
于 2013-02-11T22:35:13.830 回答