首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java实现FTP下传上载功能

2012-12-22 
Java实现FTP上传下载功能Java FTP客户端工具包很多,在此我选用的Apache的FTPClient。这个包的获取可以通过h

Java实现FTP上传下载功能
Java FTP客户端工具包很多,在此我选用的Apache的FTPClient。这个包的获取可以通过http://commons.apache.org/net/来获取,我使用的是最新的commons-net-1.4.1.zip。其中包含了众多的java网络编程的工具包,官方文档列举如下:
    支持网络协议如下:
        FTP
        NNTP
        SMTP
        POP3
        Telnet
        TFTP
        Finger
        Whois
        rexec/rcmd/rlogin
        Time (rdate) and Daytime
        Echo
        Discard
        NTP/SNTP
下面是一个使用FTPClient来实现的FTP上传和下载的功能,

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; /** * Apache commons-net 试用一把,看看FTP客户端工具做的好用不 * * @author : leizhimin,2008-8-20 14:00:38。<p> */ public class FtpTest {     public static void main(String[] args) {         testUpload();         testDownload();     }     /**      * FTP上传单个文件测试      */     public static void testUpload() {         FTPClient ftpClient = new FTPClient();         FileInputStream fis = null;         try {             ftpClient.connect("192.168.14.117");             ftpClient.login("admin", "123");             File srcFile = new File("C:\\new.gif");             fis = new FileInputStream(srcFile);             //设置上传目录             ftpClient.changeWorkingDirectory("/admin/pic");             ftpClient.setBufferSize(1024);             ftpClient.setControlEncoding("GBK");             //设置文件类型(二进制)             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);             ftpClient.storeFile("3.gif", 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 testDownload() {         FTPClient ftpClient = new FTPClient();         FileOutputStream fos = null;         try {             ftpClient.connect("192.168.14.117");             ftpClient.login("admin", "123");             String remoteFileName = "/admin/pic/3.gif";             fos = new FileOutputStream("c:/down.gif");             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);             }         }     } } 

热点排行