Utilisez l'outil Apache FTP pour télécharger, télécharger et supprimer des fichiers, comme suit
1. Téléchargez le package JAR correspondant
Commons-net-1.4.1.jar
2. Le code d'implémentation est le suivant:
classe publique ftputils {// Adresse du serveur ftp public chaîne publique hostname = "192.168.1.249"; // Le numéro de port du serveur FTP est par défaut à 21 port entier public = 21; // FTP Login Compte public String username = "root"; // Mot de passe de connexion FTP Public String Password = "123"; public ftpClient ftpClient = null; / ** * Initialiser FTP Server * / public void initftpClient () {ftpClient = new ftpClient (); ftpClient.setControleCcoding ("UTF-8"); essayez {System.out.println ("Connexion ... FTP Server:" + this.hostname + ":" + this.port); ftpClient.connect (nom d'hôte, port); // Connectez le serveur FTP FTPClient.login (nom d'utilisateur, mot de passe); // Connectez-vous vers le serveur FTP int ReplyCode = ftpClient.getReplyCode (); // si le serveur est connecté avec succès if (! Ftpreply.ispositive-completion (RépondreCode)) {System.out.println ("Connect a échoué ... FTP Server:" + this.hostname + ":" + this.port); } System.out.println ("Connecter SuccessFu ... FTP Server:" + this.hostname + ":" + this.port); } catch (malformEdUrException e) {e.printStackTrace (); } catch (ioException e) {e.printStackTrace (); }} / ** * Fichier de téléchargement * @param pathname ftp Service Save Adresse * @param nom de fichier FileName téléchargé sur ftp * @param origineFileName le nom du fichier à télécharger (adresse absolue) * * @return * / public boolean uploadfile (string pathName, fileName, string originfileName) {Boolean Flag = false; InputStream inputStream = null; essayez {System.out.println ("Démarrer le fichier de téléchargement"); inputStream = new FileInputStream (nouveau fichier (OriginFileName)); initftpClient (); ftpClient.setFileType (ftpclient.binary_file_type); CreateDireCroty (PathName); ftpClient.makedirectory (pathname); ftpClient.changeworkingDirectory (pathName); ftpClient.storefile (nom de fichier, inputStream); inputStream.close (); ftpClient.logout (); Flag = true; System.out.println ("Télécharger le fichier avec succès"); } catch (exception e) {System.out.println ("Télécharger le fichier a échoué"); e.printStackTrace (); } enfin {if (ftpclient.isconnected ()) {try {ftpClient.disconnect (); } catch (ioException e) {e.printStackTrace (); }} if (null! = inputStream) {try {inputStream.close (); } catch (ioException e) {e.printStackTrace (); }}} return true; } / ** * Fichier de téléchargement * @param pathname ftp Service Save Adresse * @param nom de fichier de fichier de fichier téléchargé sur ftp * @param inputStream input file stream * @return * / public boolean uploadfile (string pathName, string filename, inputStream inputStream) {boolean flag = false; essayez {System.out.println ("Démarrer le fichier de téléchargement"); initftpClient (); ftpClient.setFileType (ftpclient.binary_file_type); CreateDireCroty (PathName); ftpClient.makedirectory (pathname); ftpClient.changeworkingDirectory (pathName); ftpClient.storefile (nom de fichier, inputStream); inputStream.close (); ftpClient.logout (); Flag = true; System.out.println ("Télécharger le fichier avec succès"); } catch (exception e) {System.out.println ("Télécharger le fichier échoué"); e.printStackTrace (); } enfin {if (ftpclient.isconnected ()) {try {ftpClient.disconnect (); } catch (ioException e) {e.printStackTrace (); }} if (null! = inputStream) {try {inputStream.close (); } catch (ioException e) {e.printStackTrace (); }} return true; } // Modifiez le chemin du répertoire public booléen changeworkingDirectory (string répertoire) {booléen flag = true; essayez {flag = ftpclient.changeworkingDirectory (répertoire); if (flag) {System.out.println ("Entrez le dossier" + répertoire + "Success!"); } else {System.out.println ("Entrer le dossier" + répertoire + "Échec! Commencer à créer un dossier"); }} catch (ioException ioe) {ioe.printStackTrace (); } drapeau de retour; } // Créez un fichier de répertoire multicouche. S'il y a un serveur FTP, il ne sera pas créé. S'il n'y a pas, Créer Public Boolean CreateDireCroty (String Remote) lève IOException {Boolean Success = True; String Directory = Remote + "/"; // Si le répertoire distant n'existe pas, créez un répertoire de serveur distant récursivement if (! Répertoire.equalsignorecase ("/") &&! ChangeWorkingDirectory (new String (répertoire))) {int start = 0; int end = 0; if (répertoire.startswith ("/")) {start = 1; } else {start = 0; } end = Directory.Indexof ("/", start); String path = ""; String paths = ""; while (true) {String subDirectory = new String (Remote.SubString (start, end) .getBytes ("gbk"), "iso-8859-1"); path = path + "/" + subdirectory; if (! existfile (path)) {if (makedirectory (subdirectory)) {changeworkingDirectory (subdirectory); } else {System.out.println ("Create Directory [" + subdirectory + "] a échoué"); ChangeWorkingDirectory (sous-répertoire); }} else {changeworkingDirectory (subdirectory); } paths = paths + "/" + subdirectory; start = end + 1; end = répertoire.indexof ("/", start); // Vérifiez si tous les répertoires ont été créés if (end <= start) {Break; }}} Retour Success; } // Déterminez si le fichier du serveur FTP existe publique booléen existant (String Path) lève ioException {boolean flag = false; Ftpfile [] ftpFilearr = ftpClient.listFiles (path); if (ftpFilearr.length> 0) {flag = true; } drapeau de retour; } // Créer un répertoire public booléen Makedirectory (String dir) {booléen flag = true; essayez {flag = ftpclient.makedirectory (dir); if (Flag) {System.out.println ("Créer un dossier" + Dir + "Success!"); } else {System.out.println ("Créer un dossier" + dir + "a échoué!"); }} catch (exception e) {e.printStackTrace (); } drapeau de retour; } / ** * Télécharger le fichier * * @Param PathName FTP Server Fichier Directory * * @param nom de fichier de nom de fichier * * @param Path de fichier localPath après téléchargement * * @return * / public boolean downloadfile (String pathname, String FileName, String localPath) {boolean drapeau = false; OutputStream os = null; essayez {System.out.println ("Démarrer le fichier de téléchargement"); initftpClient (); // Communiquez le répertoire FTP ftpClient.changeworkingDirectory (pathName); Ftpfile [] ftpfiles = ftpclient.listFiles (); pour (ftpfile fichier: ftpfiles) {if (filename.equalsignorecase (file.getName ())) {file localfile = new File (localPath + "/" + file.getName ()); OS = new FileOutputStream (localfile); ftpClient.RetReeveFile (file.getName (), OS); os.close (); }} ftpclient.logout (); Flag = true; System.out.println ("Télécharger le fichier avec succès"); } catch (exception e) {System.out.println ("Fichier de téléchargement a échoué"); e.printStackTrace (); } enfin {if (ftpclient.isconnected ()) {try {ftpClient.disconnect (); } catch (ioException e) {e.printStackTrace (); }} if (null! = os) {try {os.close (); } catch (ioException e) {e.printStackTrace (); }}} drapeau de retour; } / ** * Supprimer le fichier * * @param pathname ftp Server enregistre le répertoire * * @param nom de fichier le nom du fichier à supprimer * * @return * / public boolean DeleteFile (String pathname, string filename) {boolean flag = false; essayez {System.out.println ("Démarrer le fichier delete"); initftpClient (); // Communiquez le répertoire FTP ftpClient.changeworkingDirectory (pathName); ftpClient.dele (nom de fichier); ftpClient.logout (); Flag = true; System.out.println ("Supprimer le fichier avec succès"); } catch (exception e) {System.out.println ("Delete Fichier a échoué"); e.printStackTrace (); } enfin {if (ftpclient.isconnected ()) {try {ftpClient.disconnect (); } catch (ioException e) {e.printStackTrace (); }} drapeau de retour; } public static void main (String [] args) {ftputils ftp = new ftputils (); //ftp.uploadfile("ftpfile/data "," 123.docx "," e: //123.docx "); //ftp.downloadfile("ftpfile/data "," 123.docx "," f: // "); ftp.deleteFile ("ftpfile / data", "123.docx"); System.out.println ("OK"); }} Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.