O FTP é a abreviação inglesa do protocolo de transferência de arquivos (protocolo de transferência de arquivos) e a abreviação chinesa é chamada de "protocolo de transferência por escrito". Usado para transferência bidirecional de arquivos de controle na Internet. Ao mesmo tempo, também é um aplicativo. Existem diferentes aplicativos FTP com base em diferentes sistemas operacionais e todos esses aplicativos aderem ao mesmo protocolo para transferir arquivos. No uso do FTP, os usuários geralmente encontram dois conceitos: "Download" e "Upload". "Download" arquivos "significa copiar arquivos do host remoto para o seu próprio computador; "Carregar arquivos" significa copiar arquivos do seu próprio computador para o host remoto. No idioma da Internet, os usuários podem fazer upload (baixar) arquivos para (de) hosts remotos através de programas de clientes.
Primeiro, o Serv-U foi baixado para configurar seu computador como um servidor de arquivos FTP para facilitar a operação.
1. Faça o download do arquivo FTP (faça o download do servidor FTP para a máquina local)
importar java.io.file; importar java.io.fileInputStream; importar java.io.filenotfoundException; importar java.io.fileOutputStream; import java.io.ioexception; importação java.io.inputStream; import java.io.outStream; importação; org.apache.commons.net.ftp.ftpclient; importar org.apache.commons.net.ftp.ftpfile; importar org.apache.commons.net.ftp.ftPreply; public class ftpapche {private ftpclient ftpclient = novo ftpclent; System.getProperty ("file.encoding");/*** Descrição: Faça o download do arquivo do servidor FTP** @versão1.0* @param url* ftp servidor hostName* @param porta* ftp servidor port* @param userName* ftp Login conta* senha* ftp login senha* @ @ @param localpath* caminho para salvar no local depois de baixar* @return*/public estático boolean DownFile (URL da String, Int Port, String UserName, String Senha, String Remotepath, String FileName, String LocalPath) {BOOLEAN Result = False; Try {int Reply; FtpClient.SetClient. * new String (remotepath.getbytes (codificação), "ISO-8859-1") transcodificando. * Após o teste, ele não pode ser passado. */// ftpClientConfig Conf = new FTPClientConfig (ftpClientConfig.syst_nt); // conf.setServerLanguageCode ("zh"); ftpclient.connect (url, porta); // se a porta padrão é usada diretamente no servidor ftp (ftpp (ftpp (port); // se a porta padrão é usada diretamente no servidor ftp (ftp (ftp, ftp (url); // se a porta padrão é usada diretamente no servidor ftp (ftp (port); // se a porta padrão pode ser usada diretamente no servidor ftp (ftp); Login // Defina o tipo de transferência de arquivo como binário ftpclient.setFileType (ftpclient.binary_file_type); // Obtenha o código de resposta do login FTP Responder = ftpClient.getReplyCode (); // verifique se o login é bem -sucedido se (! {ftpClient.disconnect (); System.err.println ("FTP Server Recused Connection."); Retornar resultado;} // Transferir para o diretório do servidor FTP para o diretório especificado ftpClient.ChangeWorkingDirectory (new String.GeTePath -TeSeSeSeSon. fs = ftpclient.listfiles (); for (ftpfile ff: fs) {if (ff.getName (). Equals (filename)) {File LocalFile = new FileOutputApTh + "/" + ff.getName (); é); is.close ();}} ftpclient.logout (); resultado = true;} catch (ioexception e) {e.printStackTrace ();} finalmente {if (ftpclient.isconnect ()) {Try {ftpplient.Disconnect ();} Catch (ioCencception () {Try {ftpplient.d)}; Arquivo no servidor FTP para o local * */public void testDownFile () {try {Bandeira booleana = DownFile ("10.0.10.102", 21, "admin", "123456", "/" Ip.txt "," e:/"); main (string [] args) {ftpapche fa = new ftpapche (); fa.testdownfile ();}}2. Carregar os arquivos FTP (upload da máquina local para o servidor FTP)
import java.io.File;import java.io.FileInputStream;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;public class FTPTest_05 {private FTPClient ftp;/** * * @param path Which path is uploaded to the ftp server* @param addr Address* @param Porta Porta Número* @param nome de usuário nome de usuário* @param senha senha* @return* @throws Exceção*/ private boolean Connect (caminho da string, string addr, int porta, string nome de usuário, string senha) lança exceção {boolean resultado = false; ftp = new ftpclient (); int); Responder; ftp.connect (addr, porta); ftp.login (nome de usuário, senha); ftp.setFileType (ftpclient.binary_file_type); resposta = ftp.getReplyCode (); if (! resultado;} ftp.ChangeWorkingDirectory (caminho); resultado = true; resultado de retorno;}/ ** * * @Param Arquivo Arquivo ou pasta * @Throws Exception */ private void upload (arquivo de arquivo) lança Exceção {if (file.isdirectory ()) {ftp.Makedirectory (file.getName ()); ftp.ChangeWorkingDirectory (file.getName ();); string [] files = file.list (); para (int i = 0; i <rechet.Length; i ++) {File.list (file11); ); if (file1.isdirectory ()) {upload (file1); ftp.ChangetoparentDirectory ();} else {file File2 = new File.getPath ()+"//"+files [i]); FileInpStream input = FileInTream (FILHE (FILE2); FtP.StOREFIle; input); input.close ();}}} else {file file2 = new File (file.getPath ()); fileInputStream input = new FileInputStream (file2); ftp.storeFile (FILEG2.GetName (), input); input.Close ();}}} public sTatic main (stringname (), strings, [input); input. Ftptest_05 (); connflag booleano = t.connect ("/", "10.0.0.105", 21, "ls", "123456"); system.out.println ("Connflag:" + Connflag); Arquivo novo ("d: // teste02"); // + arquivo); t.upload (file); system.out.println ("upload:" + "ok");}}O exposto acima é o código de exemplo para Java implementar as funções de upload e download dos arquivos FTP introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!