For applications using files for switching data, using the FTP server is a very good solution.
For the detailed construction process of the Filezilla Server server, please refer to the Filezilla Server installation configuration tutorial. Some friends said before that uploading large files (more than a few hundred m) to the FTP server will reproduce the problem that cannot be renamed, but I personally test the upload of 2G files to the Filezilla Server. Friends can use it with confidence This code.
Favftputil.java
package com.favccxx.favsoft.util; Import Java.io.file; Import Java.FileInputStream; Import Java.fileoutPutstream; Import Tion; Import Java.io.inputStream; Import Java.io.outputStream ; Import org.apache.commons.net.ftp.ftpclient; Import org.apache.commons.netp.ftpfile; Import Org.apache.ftp.ftpreply; CLASS FAVFTPUTIL { /*** Upload file (For use for Action/Controller layer)* @Param hostname FTP server address* @param Port FTP server port number* @param username FTP account number* @Param Password FTP login password* @Param Pathname f TP server saves directory* @param filename The file name after uploading to the FTP server* @Param InputStream Input File Stream* @Return*/ Public Static Boolean UploadFile (String HostName, Int Port, String Username, String Password, ST Ring PathName, String Filename, InputStream InputStream) {Boolean Flag = FALSE; FTPClient ftpclient = new ftpclient (); ftpclient.setControleenCoding ("UTF-8"); Try {// FTPClient.connect (portname, port); // Login FTP server ftpclient.login (username, password) ; // Whether to log in to the ftp server int replycode = ftpClient.getRePlycode (); if (! Ftpreply.ispositiveComplting (REPLYCODE)) {Return Flag;} YPE (ftpclient.binary_file_type); ftpclient.makedirectory (pathname); ftpclient. ChangeworkingDirectory (pathname); ftpclient.storefile (filename, inputStream); inputStream.close (); ftpclient.logout (); event e) {e.printstacktrace ();} Finally {if (ftpclient. Isconnected ()) {try {ftpClient.disconnect ();} Catch (IOEXCEPTION E) {e.printstacktrace ();}} Return Flag;} /*** upload files (renamed files) * @param Hostname FTP server address* @Param Port FTP server port number* @param username FTP login account* @param password FTP login password* @param Pathname ftp server saves directory* @Param FILENAME Upload to FTP The file name after the server* @param Originfilename The name of the upload file (absolute address) * @Return */ Public Static Boolean uploadFileFromPRoduction (String HostName, INT PORT, String Password, String Pathname , String Filename, String Originfilename) {Boolean Flag = False; Try {InputStream InputStream = New FileInputStream (New File (Originfilename)); Flag = UPLOADFILE (HostName, Port, Username, PathName, Filename, InputStream);} Catch event e) {e.printstacktrace ();} Return Flag;} /* ** Upload file (renamed operation of files)* @Param Hostname FTP server Address* @Param Port FTP server port number* @param username ftp login account number* @param password FTP login password* FTP server save Directory * @param Originfilename Name (absolute address) * @Return */ Public Static Boolean uploadFileFromPRODUCTION (String Port, String Username, String Username, ing password, string pathname, string originfilename) {boolean flag = false; try { String filename = new file (Originfilename) .GetName (); inputStream inputStream = New FileInputStream (New File (Originfilename)); name, port, username, password, pathname, filename, inputStream);} Catch (Exception E ) {e.printstacktrace ();} Return Flag;} /*** Delete file* @param Hostname FTP server Address* @Param Port FTP server port number* @Param username ftp ssword ftp login password* @ @ @ s Param PathName FTP server Save the directory* @Param Filename to delete the file name* @Return*/ Public Static Boolean Deletefile (String Hostname, Int Port, String Username, String Word, String PathName, String Filename) {Boolean Flag = false; ftpclient ftpclient = new ftpclient (); try {// connect the ftpclient.connect (hostname, port); // Log in to ftpClient.login (username, password); verify whether the FTP server logs in. Successful int replycode = ftpclient. getreplycode (); if (! ftpreply.ispositiveCompletion (REPLYCODE)) {Return Flag;} // FTP directory ftpclient.changeworkingDirectory (PathName); FTPCL IENT.DELE (FILENAME); ftpclient.logout (); flag = true;} catch (Exception E) {e.printstacktrace ();} Finally {if (ftpClient.isconnect ()) {try {ftpClient.Logout ();} Catch (IOEXCEPTION E) {}}}}}}}} rn flag;} /*** download File* @Param Hostname FTP server Address* @Param Port FTP server port number* @param username FTP account number* @param password FTP login password* @Param Pathname FTP server file directory* @param Fil ENAME file name* @param localpath download File path * @Return */ Public Static Boolean DownloadFile (String Hostname, Int Port, String Username, String PathName, String Filename, String L OcalPath) {boolean flag = false; ftpclient ftpclient = new ftpclient (); try { // Connect FTPClient.connect (hostname, port); // Log in to FTP server ftpclient.login (username, password); // Verify whether the ftp server is logged in successful int replas.get.getRepl ycode (); if (! ftpreply. ispositiveCompleTion (REPLYCODE) {Return Flag;} // Switch ftpClient.changeworkingDirectory (PathName); s (); for (FTPFile File: ftpfiles) {if (FILENAME.EQULSIGNORECASE (File.getName ()) {File LocalFile = New File (LocalPath + "/" + File.getName ()); OutputStream OS = New FileoutStream (LOCALFILE); etname (), OS); OS.Close ( );}} ftpclient.logout (); Flag = TRUE;} Catch (Exception E) {e.printstacktrace ();} Finally {if (ftpclient.isconnected ())) {try {ftpcli. ENT.LOGOUT ();} catch ( IoException E) {}}} Return Flag;}}Favftputiltest.java
package com.favccxx.favsoft.util; Import Junit.framework.testcase; Public Class Favftptest ExtCase {Public void Testfavftputil () try hostname = "127.0.0.1"; int port = 21; string username = "business"; string Password = "Business"; String PathName = "Business/EBook"; String FileName = "Big.rar"; String Originfilename = "C: // Users // downloads // downloads s.rar "; Favftputil.uploadFileFromproduction (hostname, port , UserName, Password, PathName, Filename, Originfilename); // String localpath = "d:/"; // Favftputil.downloadFile (hostname, port, usernamew Ord, PathName, FILENAME, LOCALPATH);}}The above is all the contents of this article. I hope everyone likes it.