Я не скажу много чепухи, я просто опубликую вам код. Конкретный код заключается в следующем:
// Загрузить файл public static boolean uploadtoftp (string url, int port, string username, String password, String Path, String filename, InputStream Input) {Boolean Success = false; Ftpclient ftp = new ftpclient (); // org.apache.commons.net.ftp try {if (port> -1) {ftp.connect (url, порт); } else {ftp.connect (url); // порт по умолчанию FTP - 21} // Многие люди пишут для использования ftp.getReplyCode (), чтобы получить возвращаемое значение соединения, но это приведет к возвращению neplocalActemode (ftp.login (username, password) {ftp.EnterlActivemode (); ftp.setFileType (ftpclient.binary_file_type); // Создание каталога, если он существует, он не сможет вернуть ftp.madkedirectory (path); // переключить каталог ftp.changeWorkingDirectory (path); // загружать файл // FTP-протокол утверждает, что формат кодирования файла ISO-8859-1 Filename = New String (fileName.getBytes ("GBK"), "iso-8859-1"); OutputStream Out = ftp.StoreFileStream (имя файла); Byte [] Bytearray = новый байт [4096]; int Read = 0; while ((read = input.read (bytearray))! =-1) {out.write (Bytearray, 0, Read); } out.close (); ftp.logout (); Успех = правда; }} catch (Exception e) {} наконец {if (ftp.isconned ()) {ftp.disconnecct (); }}} // Скачать файл public static boolean downloadfromftp (string url, int port, string users, string password, string path, string localpath) {boolean success = false; Ftpclient ftp = new ftpclient (); // org.apache.commons.net.ftp try {int response; if (port> -1) {ftp.connect (url, port); } else {ftp.connect (url); // порт по умолчанию ftp - 21} // Многие люди пишут для использования ftp.getReplyCode (), чтобы получить возвращаемое значение соединения, но это приведет к возвращению null ftp.login (username, пароль) ftp.EnterLocalActiveMode (); ftp.setFileType (ftpclient.binary_file_type); Ответить = ftp.getReplyCode (); if (! ftpReply.ispositionCompletion (ответить)) {ftp.disconnect (); Возврат успеха; s} // Переключить каталог здесь, если переключение не удастся, это означает, что на ftp.changeworkingdirectory (path) нет пути; // загружать файл ftpfile [] fs = ftp.listfiles (); OutputStream Out = null; InputStream in = null; for (int i = 0; i <fs.length; i ++) {ftpfile ff = fs [i]; String outFilEname = ff.getName (); // При создании локального файла необходимо преобразовать формат кодирования обратной строки localfilename = new String (ff.getName (). GetBytes ("iso-8859-"), "gbk"); File localfile = новый файл (localPath+lcoalfilename); out = new FileOutputStream (LocalFile); in = ftp.retrievefileStream (OutFilEName); Byte [] Bytearray = новый байт [4096]; int Read = 0; while ((read = in.read (bytearray))! =-1) {out.write (Bytearray, 0, Read); } // Это предложение очень важно для выполнения канала потока FTP и ждать, пока каждая команда завершит ftp.completependingCommand (); out.flush (); out.close (); ftp.logout (); sucess = true; } catch (Exception e) {} наконец {if (ftp.isconnected ()) {ftp.disconnecct (); }}}Выше приведено реализация Java загрузки и загрузки файлов FTP, которую редактор представляет вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!