施用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持

使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持

使用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持

利用org.apache.commons.net.ftp包实现一个简单的ftp客户端实用类。主要实现一下功能

1.支持上传下载。支持断点续传

2.支持进度汇报

3.支持对于中文目录及中文文件创建的支持。

import java.io.File;  

import java.io.FileOutputStream;  

import java.io.IOException;  

import java.io.InputStream;  

import java.io.OutputStream;  

import java.io.PrintWriter;  

import java.io.RandomAccessFile;  

 

import open.mis.data.DownloadStatus;  

import open.mis.data.UploadStatus;  

 

import org.apache.commons.net.PrintCommandListener;  

import org.apache.commons.net.ftp.FTP;  

import org.apache.commons.net.ftp.FTPClient;  

import org.apache.commons.net.ftp.FTPFile;  

import org.apache.commons.net.ftp.FTPReply;  

 

/** *//** 

* 支持断点续传的FTP实用类 

* @author BenZhou  http://www.bt285.cn

* @version 0.1 实现基本断点上传下载 

* @version 0.2 实现上传下载进度汇报 

* @version 0.3 实现中文目录创建及中文文件创建,添加对于中文的支持 

*/ 

public class ContinueFTP {  

    public FTPClient ftpClient = new FTPClient();  

      

    public ContinueFTP(){  

        //设置将过程中使用到的命令输出到控制台  

        this.ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));  

    }  

      

    /** *//** 

     * 连接到FTP服务器 

     * @param hostname 主机名 

     * @param port 端口 

     * @param username 用户名 

     * @param password 密码 

     * @return 是否连接成功 

     * @throws IOException 

     */ 

    public boolean connect(String hostname,int port,String username,String password) throws IOException{  

        ftpClient.connect(hostname, port);  

        ftpClient.setControlEncoding(“GBK”);  

        if(FTPReply.isPositiveCompletion(ftpClient.getReplyCode())){  

            if(ftpClient.login(username, password)){  

                return true;  

            }  

        }  

        disconnect();  

        return false;  

    }  

      

    /** *//** 

     * 从FTP服务器上下载文件,支持断点续传,上传百分比汇报 

     * @param remote 远程文件路径 

     * @param local 本地文件路径 

     * @return 上传的状态 

     * @throws IOException 

     */ 

    public DownloadStatus download(String remote,String local) throws IOException{  

        //设置被动模式  

  &nb

施用org.apache.commons.net.ftp包开发FTP客户端,实现进度汇报,实现断点续传,中文支持

相关文章:

你感兴趣的文章:

标签云: