FTP es la abreviatura inglesa del protocolo de transferencia de archivos (protocolo de transferencia de archivos), y la abreviatura china se llama "Protocolo de transferencia escrita". Se utiliza para la transferencia bidireccional de archivos de control en Internet. Al mismo tiempo, también es una aplicación. Existen diferentes aplicaciones FTP basadas en diferentes sistemas operativos, y todas estas aplicaciones se adhieren al mismo protocolo para transferir archivos. En el uso de FTP, los usuarios a menudo encuentran dos conceptos: "Descargar" y "Cargar". Archivos "Descargar" significa copiar archivos del host remoto a su propia computadora; Los archivos "cargar" significa copiar archivos de su propia computadora al host remoto. En el idioma de Internet, los usuarios pueden cargar archivos (descargar) a (desde) hosts remotos a través de programas de clientes.
Primero, Serv-U se descargó para configurar su computadora como un servidor de archivos FTP para un funcionamiento fácil.
1. Descargue el archivo FTP (descargue desde el servidor FTP a la máquina local)
import java.io.file; import java.io.fileInputStream; import java.io.filenotfoundexception; import java.io.fileOutputStream; import java.io.ioException; import java.io.inputstream; import java.io.outStream; import Org.apache.commons.net. org.apache.commons.net.ftp.ftpclient; importar org.apache.commons.net.ftp.ftpfile; importar org.apache.commons.net.ftp.ftpreply; public class ftpapche {private static ftpclient ftpclient = new ftpClient (); private static string encoding = = = System.getProperty ("file.encoding");/*** Descripción: Descargue el archivo desde el servidor ftp*** @versión1.0* @param url* ftp servidor hostname* @param puerto* ftp puerto de servidor* @param username* ftp cuenta de inicio de sesión* @param contraseña* ftp login contraseña* @param remotepath* ruta relativa de ftp en la ruta de registro de ftp* ftp* Descargar* @param localpath* ruta para guardarlo en el local después de descargar* @return*/public static boolean downfile (string url, int port, string username, string contraseña, string remotepath, string filename, string localpath) {boolean resultado = false; intit {int respuesta; ftpclient.setControlencoding (encodering); oraciones en lugar de * nueva cadena (remotePath.getBytes (codificación), "ISO-8859-1") Transcoding. * Después de la prueba, no se puede pasar. */// ftpClientConfig conf = new ftpClientConfig (ftpClientConfig.syst_nt); // conf.setserverLanguageCode ("zh"); ftpclient.connect (url, port) // Si el puerto predeterminado se usa, puede conectarse directamente al servidor ftp por ftpclient.login (user); Establezca el tipo de transferencia de archivo en binary ftpclient.setFileType (ftpclient.binary_file_type); // Obtenga el código de respuesta FTP Respuesta = ftpClient.getReplyCode (); // Verifique que el login sea exitoso si (! Ftpreply.ispositiveCompletion (respuesta)))))) {ftpclient.disconnect (); system.err.println ("Ftp Server Recheding Connection."); return resultado;} // transferir al directorio del servidor FTP al directorio especificado ftpclient.changeWorkingDirectory (nuevo stretepath.getBytes (encoderando), "ISO-8859-1")); fs = ftpClient.listFiles (); for (ftpfile ff: fs) {if (ff.getName (). Equals (fileName)) {archivo localFile = new File (localpath + "/" + ff.getName ()); outputStream es = newOutputStam (localfile); ftpclient.retrievefile (ff.getName (fff.getName () is); is.Close ();}} ftpClient.logout (); resultado = true;} catch (ioException e) {E.PrintStackTrace ();} finalmente {if (ftpClient.isConnected ()) {try {ftpClient.disconnect ();} Catch (iOexception)}}}} Descargue el archivo en el servidor FTP al local * * */public void testDownFile () {try {boolean flag = downfile ("10.0.0.102", 21, "admin", "123456", "/", "ip.txt", "e:/"); system.out.println (flag); void main (string [] args) {ftpapche fa = new ftpapche (); fa.testdownfile ();}}2. Carga de archivos FTP (cargue desde la máquina local al servidor FTP)
import java.io.file; import java.io.fileInputStream; import org.apache.commons.net.ftp.ftpclient; importar org.apache.commons.net.ftp.ftpreply; public class ftpTest_05 {private ftpclient ftp;/**** @param @param Número de puerto de puerto* @param UserName Nombre de usuario* @param contraseña contraseña* @return* @throws excepción*/ private boolean conection (string ruta, cadena addr, int port, string username, string contraseña) lanza excepción {resultado boolean = false; ftp = nuevo ftpclient (); intencion respuesta; ftp.connect (addr, puerto); ftp.login (nombre de usuario, contraseña); ftp.setfiletype (ftpClient.binary_file_type); respuesta = ftp.getReplyCode (); if (! ftPreply.ispositiveCompletion (respuesta)) {ftp.disconnect (); resultado;} ftp.changeWorkingDirectory (ruta); resultado = true; return resultado;}/ ** * * @param archivo o carpeta cargada * @throws Exception */ private void upload (archivo de archivo) se lanza Excepción {if (file.isDirectory ()) {ftp.MakedIrectory (file.getName ()); ftp.changeWorkingDirectory (file.getName ()); string [] fils = file.list (); for (int i = 0; i <file.length; i ++) {archivo file1 = nuevo (file.getpath ()+"////"+[i] "files [i]" files [i] "files [i]" files [i] "files [i]" INSHET [INDIMIENTES [INDIMIENTES [INDIMIENTES [INDIMIENTES [INDISES [INDIMIENTES [INDIMIENTES [INDIMIENTOS [INDIMIENTES [INDISES [INDISES [INDIMIENTES [INDIFICADOS ); if (file1.isDirectory ()) {{ifoad (file1); ftp.changeToparentDirectory ();} más {file file2 = new file (file.getPath ()+"//"+file [i]); fileInputStream input = newPutStReam (file2); ftp.storefile (file2.getName () input); input.Close ();}}} else {file file2 = new File (file.getPath ()); fileInputStream input = newInputStream (file2); ftp.storeFile (file2.getName (), input); input.cLose ();}} public estatic estatic bain (string [] args) lanza excepción {fttptest_05 Ftptest_05 (); boolean connflag = t.connect ("/", "10.0.0.105", 21, "ls", "123456"); system.out.println ("connflag:" + connflag); archivo file = new file ("d: // test02"); // la dirección del archivo transferido por el sistema de la máquina local. + archivo); t.upload (archivo); system.out.println ("upload:" + "ok");}}El anterior es el código de ejemplo para Java para implementar las funciones de carga y descarga de los archivos FTP introducidos por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!