社区
Java SE
帖子详情
关于使用java FTP是否可以实现断点下载?
sxlcom
2011-12-01 04:12:39
关于使用java FTP是否可以实现断点下载?
最好有实例,先谢了
...全文
151
2
打赏
收藏
关于使用java FTP是否可以实现断点下载?
关于使用java FTP是否可以实现断点下载? 最好有实例,先谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sxlcom
2011-12-02
打赏
举报
回复
大家都没有遇到过类似的情况吗?
sxlcom
2011-12-01
打赏
举报
回复
网上找了一下,发现以下代码并没有在下载某个文件出现网络异常时,在该文件上己下载的基础上继续下载的功能,而是继续Login
不知大家是否有好的方法实现这样的功能?
public class TestProtocolFtp {
private FTPClient FTP ;
private String host ;
private int port ;
private String user ;
private String pwd ;
private String taskdate ;
private boolean forceexit ;
public String toString() {
return host + ":" + port + "@" + user + "/" + pwd ;
}
public boolean Login(String strHost, int nPort, String strUser, String strPwd) {
host = strHost;
port = nPort;
user = strUser;
pwd = strPwd;
boolean bOK = false ;
try {
if ( FTP == null ) {
FTP = new FTPClient();
} else {
try {
FTP .disconnect();
} catch (Exception e) {
}
}
FTP .setDefaultTimeout(3600 * 1000);
//FTP .setConnectTimeout(3600 * 1000);
FTP .connect(strHost, nPort);
int reply = FTP .getReplyCode();
if (!FTPReply.isPositiveCompletion (reply)) {
FTP .disconnect();
System.out.println("FTP server refused connection." );
return false ;
}
bOK = FTP .login(strUser, strPwd);
if (bOK) {
FTP.enterLocalPassiveMode();
FTP.setFileType(FTPClient. BINARY_FILE_TYPE ); // 设置为二进制传输模式
FTP.setDataTimeout(3600 * 1000);
} else {
System.out.println("FTP server Login Failure Code:"+ FTP .getReplyCode());
}
} catch (SocketException se) {
System.out.println( "FTP login" + se);
} catch (Exception e) {
System.out.println( "FTP login" + e);
}
return bOK;
}
public void Close() {
try {
if ( FTP != null ) {
FTP .logout();
FTP .disconnect();
}
} catch (Exception e) {
}
}
private boolean ftpValidate() {
if (( FTP != null ) && ( FTP .isConnected()))
return true ;
else
return false ;
}
public boolean ReLogin() {
int i = 1;
boolean ret = false ;
if (ftpValidate()) {
return true ;
}
while (!ftpValidate()) {
if (i > 3) {
return ret;
}
System.out.println(": 第 " + i + " 次 ReLogin 登陆 ftp:" + host + "," + user );
try {
Thread.sleep (1000 * i * 30);
} catch (Exception e) {
System.out.println( ": ftp relogin failed. " + e);
}
ret = Login( host , port , user , pwd );
if (ret)
break ;
i++;
}
return ret;
}
class MonitorThread extends Thread {
FTPClient ftpClient = null ;
int nSeconds = 0;
Thread ftpThread = null ;
public MonitorThread( int nSeconds, FTPClient ftp, Thread t) {
ftpClient = ftp;
this.nSeconds = nSeconds;
this.ftpThread = t;
}
public void run() {
if ( nSeconds > 0) {
try {
System.out.println(": sleep 开始 " );
Thread.sleep ((( long ) nSeconds ) * 1000);
System.out.println( ": sleep 结束 " );
} catch (InterruptedException e) {
System.out.println( ": Monitor thread interrupted by ftp thread" );
return ;
}
try {
System.out.println(" ftp timeout for " + nSeconds + " seconds, interrupt ftp thread" );
ftpThread .interrupt();
} catch (Exception e) {
System.out.println( "Interrupt ftp error:" + e);
}
}
}
}
private long contentLength = 0;
}
自己收集的多个
Java
FTP
断点
续传的例子源码
java
实现
FTP
多线程
断点
续传,上传
下载
! -
java
学习与交流 - j2ee学习网 - j2ee学习网 (2012年5月21日) 用
Java
实现
断点
续传 (HTTP) (2012年5月21日)
Java
写的支持
断点
续传的
FTP
--crybaby的博客 (2012年5月21日) ...
java
FTP
多线程 批量
断点
续传
java
FTP
多线程 批量
断点
续传,
使用
1.建一个支持多线程
FTP
服务端; 如:xx
ftp
有Windows和Linux版本; 2.建一个项目导入文件测试;
Qt5(C++)高级篇之2:
FTP
网络编程实战
1.带领您深入学习QT5/C++:
FTP
基础理论、GET
下载
文件、PUT上传文件、
FTP
命令解析、
FTP
断点
续传,逐步提升Qt编程水平。 2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中...
java
ftp
断点
上传和
下载
使用
ftp
协议
实现
文件的
断点
续传上传和
下载
功能
java
,
使用
minio
实现
分片上传、秒传、
断点
续传,附docker安装文档
java
,minio
实现
分片上传、秒传、
断点
续传,附docker安装文档
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章