Java-下载程序、启动程序和更新程序

Java-下载程序、启动程序和更新程序,java,download,launcher,Java,Download,Launcher,我正在用纯Java制作一个非常简单的Java游戏!游戏部分进展得很顺利。我有一些人正在玩这个游戏来测试它。每当有更新时,我都会给他们发电子邮件下载。整个游戏只是一个jar文件,您可以直接从桌面上运行它。这意味着,你下载整个游戏在一个文件中,这需要相当多的时间,这不是我想给你的第一印象。这就引出了我的第一个问题,那就是如何制作下载器!我想让玩家下载一个小罐子,然后运行它来下载一个更大的罐子(用来存放游戏)在那里。从那里我希望玩家能够运行他们用来下载文件的Jar,它将启动一个启动器。从启动器中,他们

我正在用纯Java制作一个非常简单的Java游戏!游戏部分进展得很顺利。我有一些人正在玩这个游戏来测试它。每当有更新时,我都会给他们发电子邮件下载。整个游戏只是一个jar文件,您可以直接从桌面上运行它。这意味着,你下载整个游戏在一个文件中,这需要相当多的时间,这不是我想给你的第一印象。这就引出了我的第一个问题,那就是如何制作下载器!我想让玩家下载一个小罐子,然后运行它来下载一个更大的罐子(用来存放游戏)在那里。从那里我希望玩家能够运行他们用来下载文件的Jar,它将启动一个启动器。从启动器中,他们将能够按下开始游戏按钮,它将运行游戏或玩家appdata中的其他Jar。我还希望玩家能够点击一个按钮,在线检查更新,如果有,下载Jar并将其放入玩家的appdata中

快速总结:

  • 如何制作一个可以下载另一个jar的jar
  • 我如何制作一个可以运行另一个罐子的按钮
  • 我如何制作一个按钮来检查更新并安装它们
我用网豆来制作我的软件


谢谢你的帮助

您必须使用启动器

如果程序文件夹中有某个
jar
文件,那么在你的应用程序(你发布的应用程序)中,你可以简单地包含一个小的测试例程。如果有,请转到可以运行另一个jar文件的部分,如果没有,请下载它

下载文件

了解如何通过Java下载文件。我测试了第一个答案,它下载了一个
currences.csv
文件。这只是胡说八道,但确实有效。该文件将放置在您的“项目”文件夹中

但是,下载的文件将逐行写入新文件(作为字符串,因为在本例中,它是您下载的文本文件)。这是一个关于如何通过
byte
读取和写入文件
byte
的(非常扩展的)示例,它可能更适合您的情况

运行另一个jar

既然已经下载了新的jar文件,就必须运行它。但这可能更复杂,因为在每个系统上启动程序(或执行任何其他命令)可能不同。然而,这里是关于这一点。我觉得带有
运行时
的建议对我来说已经足够了,但也许你可以找到一种更好的方式来运行jar

另一项提案

但也许还有另一种方法,您不必下载完整的可运行jar文件。在其他程序中,这些问题通常由库来解决

因此,您可以通过将游戏划分为多个部分来编写游戏(例如,每个级别都有一个jar库)。要运行游戏,您必须拥有lib文件夹中的所有jar文件。然后,您的启动器将首先运行例程来检测是否存在所有文件,并在必要时下载丢失的jar

多库版本还可以帮助您更新程序。这样你的玩家就不必每次有新的更新时都下载整个游戏,只需下载一个更改过的jar文件(你还需要在你的启动器中包含一个测试)


很抱歉,如果我不能提供任何代码,但这是一个相当大的项目,你有:)但我希望链接给你一个想法,从哪里开始

谢谢,我将对此进行研究,但下载jar后我将如何运行它?它实际上是一个启动器,因此它将检查是否有更新供您使用。无论哪种情况,都将启动新的(如果存在)或以前存在的jar。在运行时,我应该在哪里添加文件路径?文件的路径将与文件名本身一起。要运行
MainJar.jar
请调用它
/MainJar.jar
(/)将引导您走出程序jar所在的目录)