Nos programas Java, você geralmente precisa lidar com o FTP, como fazer upload e download de arquivos para o servidor FTP. Este artigo apresenta brevemente como usar o FTPClient no Jacarta Commons (no pacote Commons-Net) para fazer upload e baixar arquivos.
Os pacotes JAR usados são:
Commons-Net-1.4.1.jar
JAKARTA-ORO.JAR
1. Faça o upload de arquivos
Atualização do arquivo Código fonte/*** Descrição: Faça o upload do arquivo para o servidor FTP* @versão1.0* @param url ftp servidor hostname* @param porta por porta ftp port* @param nome de usuário ftp Login Conta* @param senha FTP Login senha* @param caminho ftp servidor salomar diretório* @param Filename Filename Filename True com sucesso, caso contrário, false */public estático booleano uploadfile (string url, // ftp servidor hostname int porta, // ftp servidor porta string string username, // ftp login conta string senha, // ftp login string caminho, // servidor ftp salvar o nome do diretório, // upput para o ftp caminho do ftp, // servidor ftp no servidor do diretório Fillename, // upgin para o ftp path string, // servidor ftp Salvar o nome do arquivo de string do ftp no FTP no FTP no FTP no FTP no FTP no FILHO FtpClient ftp = new ftpClient (); tente {int Responder; ftp.connect (url, porta); // conectar o servidor FTP // Se a porta padrão for usada, você poderá conectar diretamente ao servidor FTP por ftp.connect (url); ftp.login (nome de usuário, senha); // Login Responder = ftp.getReplyCode (); if (! ftPreply.ispositiveCeliction (Responder)) {ftp.disconnect (); sucesso de sucesso; } ftp.ChangeWorkingDirectory (caminho); ftp.storefile (nome do arquivo, entrada); input.Close (); ftp.logout (); sucesso = true; } catch (ioexception e) {e.printStackTrace (); } finalmente {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioexception ioo) {}} retorna sucesso; } Aqui estão os casos de teste para upload de arquivo:
/*** Carregue arquivos locais para o servidor FTP**/public void testUploadFromDisk () {try {FileInputStream em = new FileInputStream (new File ("d: /test.txt")); sinalizador booleano = uploadfile ("127.0.0.1", 21, "administrador", "zyuc2011", "teste", "test.txt", in); System.out.println (sinalizador); } catch (filenotfoundException e) {e.printStackTrace (); }} / ** * Gere um arquivo no servidor FTP e escreva uma string no arquivo * * / public void testUploadFromString () {try {string str = "Esta é a string a ser escrita!"; InputStream input = new ByteArrayInputStream (str.getBytes ("utf-8")); sinalizador booleano = uploadfile ("127.0.0.1", 21, "administrador", "zyuc2011", "teste", "test.txt", entrada); System.out.println (sinalizador); } Catch (UnsupportEdEncodingException e) {E.PrintStackTrace (); }} 2. Download do arquivo <br /> download de arquivo código fonte
/ *** Descrição: Faça o download do arquivo do servidor FTP* @versão1.0* @param url ftp servidor hostname* @param porta ftp porta servidor* @param nome de usuário ftp Login Conta* @param senha ftp Login senha* @param Remotepath Relativo Path no servidor ftp* TOPATHOM FILENAM FILFILE DE POLOLEANOS ESTÁTICOS (URL da String, // FTP Server HostName Int Port, // FTP Server Port String Nome de usuário, // FTP Login String senha da String, // FTP Login senha string remotepath, // Path Relativo no FTP Server String FileName // Nome do arquivo para ser baixado strinPath // Path para o Path para o Ftp String On; FtpClient ftp = new ftpClient (); tente {int Responder; ftp.connect (url, porta); // Se a porta padrão for usada, você poderá se conectar diretamente ao servidor FTP usando ftp.connect (url); ftp.login (nome de usuário, senha); // Login Responder = ftp.getReplyCode (); if (! ftPreply.ispositiveCeliction (Responder)) {ftp.disconnect (); sucesso de sucesso; } ftp.ChangeWorkingDirectory (remotepath); // Transfer para o diretório do servidor FTP ftpfile [] fs = ftp.ListFiles (); para (ftpfile ff: fs) {if (ff.getName (). Equals (FileName)) {arquivo localfile = new File (localPath+"/"+ff.getName ()); OutputStream is = new FileOutputStream (LocalFile); ftp.retrievefile (ff.getName (), é); is.close (); }} ftp.logout (); sucesso = true; } catch (ioexception e) {e.printStackTrace (); } finalmente {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioexception ioo) {}} retorna sucesso; } Aqui estão os casos de teste para download de arquivos:
/** * Faça o download do arquivo no servidor FTP para o local * */public void testDownFile () {Try {Boolean Flag = DownFile ("127.0.0.1", 21, "administrador", "zyuc2011", "teste", "test.txt", "d:/"); System.out.println (sinalizador); } catch (Exceção e) {e.printStackTrace (); }}O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.