我将如何使用Java下载和解压缩zip存档?
我为我自己和我的一个朋友做了一个小小的JPanel工具,上面有图像图标。它从user.home中的“images”文件夹加载图像,但我希望它在打开时检查该目录是否存在,如果不存在,则下载包含该文件夹的zip存档,并将其解压缩到user.home。有些人告诉我这根本不可能,但我不这么认为。我就是想不出一个办法。有人能帮我吗 实际上非常简单,只需在项目中添加ApacheCommons IO和作为依赖项,即可使用我将如何使用Java下载和解压缩zip存档?,java,file,download,zip,extract,Java,File,Download,Zip,Extract,我为我自己和我的一个朋友做了一个小小的JPanel工具,上面有图像图标。它从user.home中的“images”文件夹加载图像,但我希望它在打开时检查该目录是否存在,如果不存在,则下载包含该文件夹的zip存档,并将其解压缩到user.home。有些人告诉我这根本不可能,但我不这么认为。我就是想不出一个办法。有人能帮我吗 实际上非常简单,只需在项目中添加ApacheCommons IO和作为依赖项,即可使用FileUtils和Zip实用程序 你可以使用Maven或任何你想要的工具 只需将所需内容
FileUtils
和Zip实用程序
你可以使用Maven或任何你想要的工具
只需将所需内容分为三个步骤,检查目录是否存在,如果不下载文件,则解压缩即可
String home = System.getProperty("user.home");
File imagesPath = new File(home + "/Images");
boolean exists = imagesPath.exists();
if (!exists) {
// create directory
imagesPath.mkdir();
// download
String zipPath = home + "/Images.zip";
FileUtils.copyURLToFile(new URL("http://url/Images.zip"), new File(zipPath));
// unzip
try {
new ZipFile(zipPath).extractAll(home + "/Images");
} catch (ZipException e) {
// do something useful
e.printStackTrace();
}
}
你的问题涉及很多步骤,我们需要知道你可能会被困在哪一步。如果你的答案是“全部”,那么你可能会在这里太早,因为问题相当广泛。在这种情况下,考虑把你的问题分解成更小的组成步骤,同时尝试一步一步地解决问题。然后,如果你再次陷入困境,你可以问一个更具体、更好的问题,一个关于你的代码的问题。