Ich werde nicht viel Unsinn sagen, ich werde Ihnen den Code einfach veröffentlichen. Der spezifische Code lautet wie folgt:
// Datei hochladen public static boolean uploadToftP (String -URL, int Port, String -Benutzername, String -Kennwort, String -Pfad, String -Dateiname, Eingabeeingabe) {boolean scqua = false; Ftpclient ftp = new ftpclient (); // org.apache.commons.net.ftp try {if (port> -1) {ftp.connect (url, port); } else {ftp.connect (URL); // FTPs Standardport beträgt 21} // Viele Personen schreiben, um ftp.getreplycode () zu verwenden, um den Rückkehrwert der Verbindung zu erhalten, aber dies führt dazu, dass der StoreFileStream Null if (ftp.login (usuername)) {{ftp.enterlocalactivemode (); ftp.setFiletype (ftpclient.BINY_FILE_TYPE); // Erstellen Sie ein Verzeichnis, wenn es vorhanden ist, wird es FTP.Makedirectory (Pfad) nicht zurückgeben. // Schalten Sie das Verzeichnis ftp.changeworkingDirectory (Pfad); // Laden Sie die Datei hoch // FTP-Protokoll stipentiert, dass das Dateicodierungsformat ISO-8859-1 Dateiname = new String (Dateiname.getBytes ("GBK"), "ISO-8859-1") ist. OutputStream out = ftp.storefilESTREAM (Dateiname); byte [] bytearray = neues byte [4096]; int read = 0; while ((read = input.read (bytearray))! =-1) {out.write (bytearray, 0, read); } out.close (); ftp.logout (); Erfolg = wahr; }} catch (exception e) {} endlich {if (ftp.isconnected ()) {ftp.disconnecct (); }}} // Datei herunterladen public static boolean downloadfromftp (String -URL, int Port, String -Benutzername, String -Kennwort, String -Pfad, String localPath) {boolean success = false; Ftpclient ftp = new ftpclient (); // org.apache.commons.net.ftp try {int Antwort; if (port> -1) {ftp.connect (url, port); } else {ftp.connect (url); // ftps Standardport beträgt 21} // Viele Leute schreiben, um ftp.getreplycode () zu verwenden, um den Rückkehrwert der Verbindung zu erhalten, aber dies führt dazu, dass der StoreFileStream zurückgegeben wird. ftp.setFiletype (ftpclient.BINY_FILE_TYPE); Reply = ftp.getReplyCode (); if (! ftpreply.ispositionCompletion (Antwort)) {ftp.disconnect (); Rückgabeerfolg; // Die Datei ftpfile [] fs = ftp.listfiles () hochladen; OutputStream out = null; InputStream in = null; für (int i = 0; i <fs.Length; i ++) {ftpfile ff = fs [i]; String outFileName = ff.getName (); // Beim Erstellen einer lokalen Datei müssen Sie das Codierungsformat zurück konvertieren. Datei localFile = new Datei (LocalPath+lcoALFileName); out = new FileOutputStream (localFile); in = ftp.retrieveFilESTREAM (OutfileName); byte [] bytearray = neues byte [4096]; int read = 0; while ((read = in.read (bytearray))! =-1) {out.write (bytearray, 0, read); } // Dieser Satz ist sehr wichtig, um den Kanal des FTP -Streams mehrmals zu betreiben und auf jeden Befehl zu warten, um ftp.completePendingCommand () zu vervollständigen. out.flush (); out.close (); ftp.logout (); Erfolg = wahr; } catch (Ausnahme e) {} endlich {if (ftp.isconnected ()) {ftp.disconnecct (); }}}Das obige ist die Java -Implementierung von FTP -Datei -Upload und Download, die der Editor Ihnen vorstellt. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!