1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public void actionPerformed(java.awt.event.ActionEvent e) {
//ouverture d'un JfileChooser
//apres le choix on recupere le nom du fichier
//on se connecte au ftp
//si les mdp et login sont bon
if (ftp.login("xxxxx", "xxxxx"))
{
ProgressMonitor moniteur = new ProgressMonitor(MyFrame.this,"Envoi",path,0,100);
moniteur.setProgress(0);
String command = "stor "+dossier+"/"+param;
//On ouvre le fichier en local
RandomAccessFile infile = new RandomAccessFile(path, "r");
// Converti le RandomAccessFile en un InputStream
FileInputStream fileStream = new FileInputStream(infile.getFD());
if (!ftp.setupDataPasv(command)) return;
OutputStream out = ftp.pasvSocket.getOutputStream();
byte b[] = new byte[4096];
// Stock les donnés dans un fichier
int amount;
long restant = taille;
while ((amount = fileStream.read(b)) > 0)
{
restant = restant - amount;
long pourcentageTmp = restant*100/taille;
int pourcentage = (int)(100-pourcentageTmp);
moniteur.setProgress(pourcentage);
System.out.println(pourcentage);
out.write(b, 0, amount);
}
//on ferme le flux
//on ferme la connexion
}
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
} |
Partager