import org.apache.commons.io.IOUtils;import org.apache.commons.net.ftp.FTPClient;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.FileOutputStream;/** * JAVA FTP上傳下載 助手類 * * commons-net-1.4.1.jar PFTClinet jar包 * * @author : JenMinZhang */public class FileManagerByFtp {/** * FTP上傳單個檔案測試 */public static void fileUploadByFtp() {FTPClient ftpClient = new FTPClient();FileInputStream fis = null;try {ftpClient.connect("192.85.1.9");ftpClient.login("zhangzhenmin", "62672000");File srcFile = new File("E:\\test_back_081409.sql");fis = new FileInputStream(srcFile);// 設定上傳目錄ftpClient.changeWorkingDirectory("/home/zhangzhenmin");ftpClient.setBufferSize(1024);ftpClient.setControlEncoding("GBK");// 設定檔案類型(二進位)ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);ftpClient.storeFile("test_back_081901.sql", fis);} catch (IOException e) {e.printStackTrace();throw new RuntimeException("FTP用戶端出錯。", e);} finally {IOUtils.closeQuietly(fis);try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();throw new RuntimeException("關閉FTP串連發生異常。", e);}}}/** * FTP下載單個檔案測試 */public static void fileDownloadByFtp() {FTPClient ftpClient = new FTPClient();FileOutputStream fos = null;try {ftpClient.connect("192.85.1.9");ftpClient.login("zhangzhenmin", "62672000");String remoteFileName = "/home/zhangzhenmin/test_back_081901.sql";// fos = new FileOutputStream("E:/test/test_back_081901.sql");fos = new FileOutputStream("H:/test/test_back_081901.sql");ftpClient.setBufferSize(1024);// 設定檔案類型(二進位)ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);ftpClient.retrieveFile(remoteFileName, fos);} catch (IOException e) {e.printStackTrace();throw new RuntimeException("FTP用戶端出錯。", e);} finally {IOUtils.closeQuietly(fos);try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();throw new RuntimeException("關閉FTP串連發生異常。", e);}}}public static void main(String[] args) {fileUploadByFtp();fileDownloadByFtp();}}