我已经在Java程序中集成了一个更新系统,缺少的一件事是使用Java从URL下载jar文件的方法。怎样才能做到这一点?我想用这个文件替换现有的文件。我不知道该怎么做。
发布于 2013-09-12 11:19:32
这个问题很模糊,但如果你不介意弄脏你的手的话...
给定一个URL
,您可以使用Basic I/O下载内容
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) {
}
}
您可以使用File#renameTo
简单地安装这些更新
您将遇到的下一个问题是安装更新。您可能遇到的问题是锁定的文件。如果任何Java进程正在使用Jar,您将无法更新它们...
现在,这需要一些巧妙的变戏法来使工作,这取决于您的情况。通常,您希望使更新程序成为一个不依赖于任何应用程序jars的单独程序。这可以防止更新程序锁定它试图更新的文件。
https://stackoverflow.com/questions/18754266
复制相似问题