添加 apache.commons.NET.ftp 包
- package com.ftp;
- 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 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;
- import org.junit.Test;
- /** *//**
- * 支持断点续传的FTP实用类
- * @version 0.1 实现基本断点上传下载
- * @version 0.2 实现上传下载进度汇报
- * @version 0.3 实现中文目录创建及中文文件创建,添加对于中文的支持
- */
- public class ContinueFTP2 implements Runnable{
- //枚举类UploadStatus代码
- public enum UploadStatus {
- Create_Directory_Fail, //远程服务器相应目录创建失败
- Create_Directory_Success, //远程服务器闯将目录成功
- Upload_New_File_Success, //上传新文件成功
- Upload_New_File_Failed, //上传新文件失败
- File_Exits, //文件已经存在
- Remote_Bigger_Local, //远程文件大于本地文件
- Upload_From_Break_Success, //断点续传成功
- Upload_From_Break_Failed, //断点续传失败
- Delete_Remote_Faild; //删除远程文件失败
- }
- //枚举类DownloadStatus代码
- public enum DownloadStatus {
- Remote_File_Noexist, //远程文件不存在
- Local_Bigger_Remote, //本地文件大于远程文件
- Download_From_Break_Success, //断点下载文件成功
- Download_From_Break_Failed, //断点下载文件失败
- Download_New_Success, //全新下载文件成功
- Download_New_Failed; //全新下载文件失败
- }
- public FTPClient ftpClient = new FTPClient();
- private String ftpURL,username,pwd,ftpport,file1,file2;
- public ContinueFTP2(String _ftpURL,String _username,String _pwd,String _ftpport,String _file1,String _file2 ){
- //设置将过程中使用到的命令输出到控制台
- ftpURL = _ftpURL;
- username = _username;
- pwd = _pwd;
- ftpport = _ftpport;
- file1 = _file1;
- file2 = _file2;
- this.ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
- }
- /** *//**
- * 连接到FTP服务器
- * @param hostname 主机名
- * @param port 端口
- * @param username 用户名
- * @param password 密码
- * @return 是否连接成功