ゲームの起動時に最新バージョンのゲームを自動的にダウンロードする「パッチャー ランチャー」をゲーム用に作成しています。ただし、複数の人が同時にファイルをダウンロードしようとすると、全員のダウンロードがフリーズして停止し、他の人がダウンロードを閉じて一度に 1 人だけがダウンロードしている場合にのみ再開されます。誰でも助けることができますか?URL からファイルをダウンロードするために使用する現在のコードを次に示します。
public void saveUrl(String filename, String urlString)
throws MalformedURLException, IOException {
System.out.println("Downloading " + urlString);
BufferedInputStream in = null;
FileOutputStream fout = null;
int currentdlsize = 0;
int dlsize = new URL(urlString).openConnection().getContentLength();
System.out.println("DL Size " + dlsize);
in = new BufferedInputStream(new URL(urlString).openStream());
fout = new FileOutputStream(filename);
byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
currentdlsize += count;
System.out.println("Downloaded " + currentdlsize + "/" + dlsize);
prog.setMaximum(dlsize);
prog.setValue(currentdlsize);
progstat.setText("Downloading at " + currentdlsize + "/" + dlsize);
}
in.close();
fout.close();
System.out.println("Downloaded to " + filename);
}