Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我将如何使用Java下载和解压缩zip存档?_Java_File_Download_Zip_Extract - Fatal编程技术网

我将如何使用Java下载和解压缩zip存档?

我将如何使用Java下载和解压缩zip存档?,java,file,download,zip,extract,Java,File,Download,Zip,Extract,我为我自己和我的一个朋友做了一个小小的JPanel工具,上面有图像图标。它从user.home中的“images”文件夹加载图像,但我希望它在打开时检查该目录是否存在,如果不存在,则下载包含该文件夹的zip存档,并将其解压缩到user.home。有些人告诉我这根本不可能,但我不这么认为。我就是想不出一个办法。有人能帮我吗 实际上非常简单,只需在项目中添加ApacheCommons IO和作为依赖项,即可使用FileUtils和Zip实用程序 你可以使用Maven或任何你想要的工具 只需将所需内容

我为我自己和我的一个朋友做了一个小小的JPanel工具,上面有图像图标。它从user.home中的“images”文件夹加载图像,但我希望它在打开时检查该目录是否存在,如果不存在,则下载包含该文件夹的zip存档,并将其解压缩到user.home。有些人告诉我这根本不可能,但我不这么认为。我就是想不出一个办法。有人能帮我吗

实际上非常简单,只需在项目中添加ApacheCommons IO和作为依赖项,即可使用
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();
    }
}

你的问题涉及很多步骤,我们需要知道你可能会被困在哪一步。如果你的答案是“全部”,那么你可能会在这里太早,因为问题相当广泛。在这种情况下,考虑把你的问题分解成更小的组成步骤,同时尝试一步一步地解决问题。然后,如果你再次陷入困境,你可以问一个更具体、更好的问题,一个关于你的代码的问题。