Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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从URL下载.jar文件_Java_Jar_Download_Executable_Executable Jar - Fatal编程技术网

使用Java从URL下载.jar文件

使用Java从URL下载.jar文件,java,jar,download,executable,executable-jar,Java,Jar,Download,Executable,Executable Jar,我已经在Java程序中集成了一个更新系统,缺少的一件事是使用Java从URL下载jar文件的方法。一个人怎么能这样做呢?我希望该文件替换现有文件。我不知道怎么做 使用特定文件夹中的httpclient库下载文件。使用Java的URLConnection类 移动/删除/备份现有文件 复制下载的文件以替换先前的文件 这个问题很模糊,但如果你不介意把手弄脏 给定URL,您可以使用 您只需使用以下命令安装这些更新 下一个问题是安装更新。您可能遇到的问题是锁定的文件。如果任何Java进程正在使用Jar,您

我已经在Java程序中集成了一个更新系统,缺少的一件事是使用Java从URL下载jar文件的方法。一个人怎么能这样做呢?我希望该文件替换现有文件。我不知道怎么做

  • 使用特定文件夹中的httpclient库下载文件。使用Java的
    URLConnection
  • 移动/删除/备份现有文件
  • 复制下载的文件以替换先前的文件
    这个问题很模糊,但如果你不介意把手弄脏

    给定
    URL
    ,您可以使用

    您只需使用以下命令安装这些更新

    下一个问题是安装更新。您可能遇到的问题是锁定的文件。如果任何Java进程正在使用Jar,您将无法更新它们


    现在,这需要一些巧妙的杂耍才能奏效,这取决于你的情况。通常,您希望使更新程序成为一个独立的程序,不依赖于任何应用程序JAR。这将防止更新程序锁定其试图更新的文件。

    您可能需要检查以下内容:
    URL url = new URL("....");
    InputStream is = null;
    OutputStream os = null;
    try {
        os = new FileOutputStream(new File("..."));
        is = url.openStream();
        // Read bytes...
    } catch (IOException exp) {
        exp.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (Exception exp) {
        }
        try {
            os.close();
        } catch (Exception exp) {
        }
    }