Bonjour à tous,
Donc voilà, pour m’entraîner en java je suis en train de développer un client FTP(même principe que filezila mais en beaucoup plus simple )
Pour faciliter les connexion FTP, j'utilise l'API commons net
Voilà le code que j'ai fais:
Et voici ce qui apparaît dans la console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 import java.awt.Dimension; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class start extends Object{ static String syst = System.getenv("APPDATA"); public static void main(String[] args) { try{ String hostName = "store.olympe.in"; String username = "xxxxx"; String password = "xxxxx"; String location = "C:/Users/xxxxx/Desktop/Fichier_DL.txt"; FTPClient ftp = null; InputStream in = null; ftp = new FTPClient(); ftp.connect(hostName); ftp.login(username, password); try { ftp.setFileType(FTP.BINARY_FILE_TYPE); ftp.changeWorkingDirectory("/mdp"); int reply = ftp.getReplyCode(); if(FTPReply.isPositiveCompletion(reply)){ System.out.println("Connection reussie"); } File f1 = new File(location); in = new FileInputStream(f1); ftp.storeFile("Fichier", in); ftp.logout(); } catch (IOException e) { e.printStackTrace(); } } catch (IOException e) { System.err.println("erreur2"); } }
Connection reussie
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.commons.net.ftp.FTP.__send(FTP.java:501)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:475)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
at org.apache.commons.net.ftp.FTP.port(FTP.java:877)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:709)
at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
at start.main(start.java:53)
Je ne comprend pas pourquoi... Il dit que ca bloque à la ligne 53 qui est celle-ci:
ftp.storeFile("Fichier", in);
Merci de m'avoir lu et de bien vouloir m'aider...
Amicalement
MrGlobox
PS: Désolé si je n'ai pas posté dans la bonne catégorie, j'ai pris celle qui me semblait la plus adaptée...
Partager