J'ai créé une application Java Swing pour télécharger un fichier en utilisant un servlet Java.
La machine cliente dispose d'une interface utilisateur graphique qui fournit une liste de fichiers à télécharger.
Comment puis-je définir une barre de progression pour surveiller le téléchargement du fichier ?
Voici le code pour la machine cliente :
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
HttpClient client = new DefaultHttpClient();
String value = comboBox1.getSelectedItem().toString();
HttpGet post = new HttpGet(
"http://localhost:8080/may16/FileDownloadServletNormal?value="
+ value + "&type=normal");
try {
LocalTime time1 = new LocalTime();
// exécution de la requête POST
HttpResponse rsp = client.execute(post);
// lecture des données de réponse
HttpEntity entity = rsp.getEntity();
InputStream inputStream = entity.getContent();
OutputStream outputStream = new FileOutputStream(
new File("D://temp//downloaded//" + value));
IOUtils.copy(inputStream, outputStream);
/*try {
Thread.sleep(25000);
}
catch (InterruptedException e) {
//TODO Généré automatiquement le bloc catch
e.printStackTrace();
}*/
outputStream.flush();
outputStream.close();
LocalTime time2 = new LocalTime();
Seconds sec = Seconds.secondsBetween(time1, time2);
System.out.println("Temps écoulé :" + sec.getSeconds() + "secs");
normalDownloadTime.setText("Temps de téléchargement normal :"
+ sec.getSeconds() + "secs");
// String response = convertStreamToString(inputStream);
// System.out.println(response);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});