No diré muchas tonterías, solo te publicaré el código. El código específico es el siguiente:
// Archivo cargue public static static uploadToftp (string url, int puerto, nombre de usuario de cadena, contraseña de cadena, ruta de cadena, nombre de archivo de cadena, entrada inputStream) {boolean éxito = false; FtpClient ftp = new ftpClient (); // org.apache.commons.net.ftp try {if (port> -1) {ftp.connect (url, puerto); } else {ftp.connect (url); // El puerto predeterminado de FTP es 21} // Muchas personas escriben para usar ftp.getReplyCode () para obtener el valor de retorno de la conexión, pero esto hará que StoreFilEnstream devuelva NULL if (ftp.login (userne, contraseña) {ftp.enterLocalactEmode (); ftp.setFileType (ftpclient.binary_file_type); // Crear un directorio, si existe, no devolverá ftp.makedirectory (ruta); // cambiar el directorio ftp.changeworkingDirectory (ruta); // cargar el archivo // el protocolo FTP estipula que el formato de codificación del archivo es ISO-8859-1 filename = new String (FileName.getBytes ("GBK"), "ISO-8859-1"); OutputStream out = ftp.storeFilErtream (nombre de archivo); byte [] byteArray = new Byte [4096]; int read = 0; while ((read = input.read (bytearray))! =-1) {out.write (bytearray, 0, read); } out.close (); ftp.logout (); éxito = verdadero; }} catch (excepción e) {} finalmente {if (ftp.isconnected ()) {ftp.disconnecct (); }}} // File Descargar public static static downloadFromftp (string url, int puerto, string username, string contraseña, string ruta, cadena localpath) {boolean éxito = false; FtpClient ftp = new ftpClient (); // org.apache.commons.net.ftp try {int respuesta; if (puerto> -1) {ftp.connect (url, puerto); } else {ftp.connect (url); // El puerto predeterminado de FTP es 21} // Muchas personas escriben para usar ftp.getReplyCode () para obtener el valor de retorno de la conexión, pero esto hará que el StoreFilErteam devuelva nulo ftp.login (userName, contraseña) ftp.enterlocalactivemode (););); ftp.setFileType (ftpclient.binary_file_type); respuesta = ftp.getReplyCode (); if (! ftPreply.IsPositionCompletion (respuesta)) {ftp.disconnect (); devolver el éxito; s} // cambia el directorio aquí, si la conmutación falla, significa que no hay ruta en ftp.changeworkingDirectory (ruta); // cargar el archivo ftpfile [] fs = ftp.listFiles (); OutputStream out = null; InputStream in = null; for (int i = 0; i <fs.length; i ++) {ftpfile ff = fs [i]; Cadena outFileName = ff.getName (); // Al crear un archivo local, debe convertir el formato de codificación String String localFileName = new String (ff.getName (). GetBytes ("ISO-8859-"), "GBK"); Archivo localfile = nuevo archivo (localpath+lcoalFileName); out = new FileOutputStream (LocalFile); in = ftp.retrieveFilErtream (outFileName); byte [] byteArray = new Byte [4096]; int read = 0; while ((read = in.read (bytearray))! =-1) {out.write (bytearray, 0, read); } // Esta oración es muy importante para operar el canal de la secuencia FTP varias veces y esperar a que cada comando complete ftp.completependingCommand (); out.flush (); out.close (); ftp.logout (); éxito = verdadero; } catch (Exception e) {} finalmente {if (ftp.isconnected ()) {ftp.disconnecct (); }}}Lo anterior es la implementación Java de la carga de archivos FTP y descarga que el editor le presenta. Espero que te sea útil. Si tiene alguna pregunta, déjeme un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!