Dans les programmes Java, vous devez souvent gérer FTP, tels que le téléchargement et le téléchargement de fichiers sur le serveur FTP. Cet article présente brièvement comment utiliser le FTPClient dans Jakarta Commons (dans le package Commons-Net) pour télécharger et télécharger des fichiers.
Les packages de bocaux utilisés sont:
Commons-net-1.4.1.jar
jakarta-oro.jar
1. Télécharger des fichiers
Fichier Téléchargez le code source / ** * Description: Téléchargez le fichier sur le serveur FTP * @ version1.0 * @param URL FTP Server Hostname * @Param Port FTP Server Port * @param pathwame FTP SAVE Directory * @param mot de passe FTP Login Mot de passe avec succès, sinon Faux * / public static boolean uploadfile (URL de chaîne, // FTP Server hostname int port, // FTP Server Port String Name, // FTP Server enregistre le nom de fichier de chaîne du répertoire, // upload to the FTP Server InputStream Entrée // Stream d'entrée) {boolean; FtpClient ftp = new ftpClient (); essayez {int réponse; ftp.connect (URL, port); // connecter le serveur FTP // Si le port par défaut est utilisé, vous pouvez vous connecter directement au serveur FTP par FTP.Connect (URL); ftp.login (nom d'utilisateur, mot de passe); // Login Reply = ftp.getReplyCode (); if (! ftpreply.ispositivecompletion (réponse)) {ftp.disconnect (); retourner le succès; } ftp.changeworkingDirectory (path); ftp.storefile (nom de fichier, entrée); input.close (); ftp.logout (); succès = vrai; } catch (ioException e) {e.printStackTrace (); } enfin {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}} return succès; } Voici les cas de test pour le téléchargement de fichiers:
/ ** * Téléchargez les fichiers locaux sur le serveur FTP * * / public void TESTUPLOADFROMDISK () {try {fileInputStream dans = new FileInputStream (nouveau fichier ("d: /test.txt")); booléen flag = uploadfile ("127.0.0.1", 21, "administrateur", "zyuc2011", "test", "test.txt", in); System.out.println (drapeau); } catch (filenotFoundException e) {e.printStackTrace (); }} / ** * Générez un fichier sur le serveur FTP et écrivez une chaîne dans le fichier * * / public void TESTUPLOADFROMSTRING () {try {String str = "Ceci est la chaîne à écrire!"; InputStream input = new bytearrayInputStream (str.getBytes ("utf-8")); booléen flag = uploadfile ("127.0.0.1", 21, "administrateur", "zyuc2011", "test", "test.txt", entrée); System.out.println (drapeau); } catch (UnportEnCcodingException e) {e.printStackTrace (); }} 2. Téléchargement de fichiers <br /> Téléchargement de fichiers Code source
/ ** * Description: Téléchargez le fichier à partir du serveur FTP * @ version1.0 * @param URL FTP Server Hostname * @param Port FTP Server Port * @param useraMepath Relative Path sur le serveur FTP * @param nom de fichier de fichier pour télécharger * * / public static boolean downfile (URL de chaîne, // FTP Server hostname int port, // ftp server port string username, // ftp compte string mot de passe, // FTP de mot de passe de mot de passe de mot de passe Remotepath, // chemin relatif sur le nom de chaîne de serveur FTP après le téléchargement) {bothory; FtpClient ftp = new ftpClient (); essayez {int réponse; ftp.connect (URL, port); // Si le port par défaut est utilisé, vous pouvez vous connecter directement au serveur FTP en utilisant ftp.connect (URL); ftp.login (nom d'utilisateur, mot de passe); // connexion de connexion = ftp.getReplyCode (); if (! ftpreply.ispositivecompletion (réponse)) {ftp.disconnect (); retourner le succès; } ftp.changeworkingDirectory (RemotePath); // Transférer vers le répertoire FTP du serveur ftpfile [] fs = ftp.listFiles (); for (ftpfile ff: fs) {if (ff.getName (). equals (fileName)) {file localfile = new file (localPath + "/" + ff.getName ()); OutputStream est = new FileOutputStream (localFile); ftp.RetReeveFile (ff.getName (), IS); is.close (); }} ftp.logout (); succès = vrai; } catch (ioException e) {e.printStackTrace (); } enfin {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}} return succès; } Voici les cas de test pour le téléchargement de fichiers:
/ ** * Téléchargez le fichier sur le serveur FTP vers le * * / public void TestdownFile () {try {boolean flag = downfile ("127.0.0.1", 21, "administrateur", "zyuc2011", "test", "test.txt", "d: /"); System.out.println (drapeau); } catch (exception e) {e.printStackTrace (); }}Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.