私はJavaが初めてで、最初のプログラミング言語ではありません。サーバー上のバージョンがクライアントのものと同じになるまで、すべてのファイルをダウンロードするダウンローダーを実際にコーディングしようとしています。
プログラムはうまく動作しますが、これは私が解決できないことです。
このコードを実行すると:
private void updateContent()
{
DownloadButton.setEnabled(false);
SaveLocationButton.setEnabled(false);
UpdateText.setText("Update to Version " + ServerVersionNumber + "...");
UpdateText.setForeground(new Color(200, 150, 0, 255));
ProgressText.setText("(1/2) Files will be downloaded");
ProgressText.setForeground(new Color(200, 150, 0, 255));
LoadingBar.setStringPainted(true);
for(int i = 1; i < (ServerVersionNumber - LocalVersionNumber + 1); i++)
{
int CurrentUpdateFile = LocalVersionNumber + i;
try
{
URL FileURL = new URL(Host + CurrentUpdateFile + ".zip");
try {
FileURL.openConnection();
InputStream reader = FileURL.openStream();
FileOutputStream writer = new FileOutputStream(ContentSaveDirectory + CurrentUpdateFile + ".zip");
byte[] buffer = new byte[153600];
int bytesRead = 0;
while ((bytesRead = reader.read(buffer)) > 0)
{
writer.write(buffer, 0, bytesRead);
buffer = new byte[153600];
}
writer.close();
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
}
}
すべてDownloadButton.setEnabled(false);
のファイルがダウンロードされた後、その下の数行が変更されます。