java 实现FTP上传下载!

首先架设一个FTP服务器,随便使用什么服务器都行:
然后去ftp://ftp.ntu.edu.tw/Apache/commons/net/下载commons net包和ftp包。导入到您的java工程,之后代码如下:

Java代码
  1. import org.apache.commons.io.IOUtils;    
  2. import org.apache.commons.net.ftp.FTPClient;    
  3.   
  4. import java.io.File;    
  5. import java.io.FileInputStream;    
  6. import java.io.IOException;    
  7. import java.io.FileOutputStream;    
  8.     
  9. public class FtpTest {    
  10.     public static void main(String[] args) {    
  11.         testUpload();    
  12.         testDownload();    
  13.     }    
  14.   
  15.     /**   
  16.      * FTP上传单个文件测试   
  17.      */    
  18.     public static void testUpload() {    
  19.         FTPClient ftpClient = new FTPClient();    
  20.         FileInputStream fis = null;    
  21.   
  22.         try {    
  23.             ftpClient.connect("您的ip");    
  24.             ftpClient.login("您的ftp用户名""密码");    
  25.   
  26.             File srcFile = new File("C://ftp.txt");    
  27.             fis = new FileInputStream(srcFile);    
  28.             //设置上传目录    
  29.             ftpClient.changeWorkingDirectory("/ftproot");    
  30.             ftpClient.setBufferSize(1024);    
  31.             ftpClient.setControlEncoding("GBK");    
  32.             //设置文件类型(二进制)    
  33.             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);    
  34.             ftpClient.storeFile("hello.txt", fis);    
  35.         } catch (IOException e) {    
  36.             e.printStackTrace();    
  37.             throw new RuntimeException("FTP客户端出错!", e);    
  38.         } finally {    
  39.             IOUtils.closeQuietly(fis);    
  40.             try {    
  41.                 ftpClient.disconnect();    
  42.             } catch (IOException e) {    
  43.                 e.printStackTrace();    
  44.                 throw new RuntimeException("关闭FTP连接发生异常!", e);    
  45.             }    
  46.         }    
  47.     }    
  48.   
  49.     /**   
  50.      * FTP下载单个文件测试   
  51.      */    
  52.     public static void testDownload() {    
  53.         FTPClient ftpClient = new FTPClient();    
  54.         FileOutputStream fos = null;    
  55.   
  56.         try {    
  57.             ftpClient.connect("您的ip");    
  58.             ftpClient.login("您的ftp用户名""密码");    
  59.   
  60.             String remoteFileName = "/ftproot/hello.txt";    
  61.             fos = new FileOutputStream("c:/hello.txt");    
  62.   
  63.             ftpClient.setBufferSize(1024);    
  64.             //设置文件类型(二进制)    
  65.             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);    
  66.             ftpClient.retrieveFile(remoteFileName, fos);    
  67.         } catch (IOException e) {    
  68.             e.printStackTrace();    
  69.             throw new RuntimeException("FTP客户端出错!", e);    
  70.         } finally {    
  71.             IOUtils.closeQuietly(fos);    
  72.             try {    
  73.                 ftpClient.disconnect();    
  74.             } catch (IOException e) {    
  75.                 e.printStackTrace();    
  76.                 throw new RuntimeException("关闭FTP连接发生异常!", e);    
  77.             }    
  78.         }    
  79.     }    
  80. }  

你可能感兴趣的:(java 实现FTP上传下载!)