社区
Java SE
帖子详情
关于使用java FTP是否可以实现断点下载?
sxlcom
2011-12-01 04:12:39
关于使用java FTP是否可以实现断点下载?
最好有实例,先谢了
...全文
168
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
和Apache Commons Net库
实现
FTP
断点
续传的基本步骤。在实际应用中,你可能还需要处理异常,优化文件读写性能,以及考虑其他因素,如重试机制、错误处理等。了解这些知识点将使你能够高效地
实现
在...
自己收集的多个
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
中,通过检查文件的大小和修改时间,可以确定
是否
已经部分
下载
,然后
使用
FTP
Client的`restart`方法指定新的起始位置来
实现
断点
续传。 多线程在
Java
FTP
中常用于提高文件
下载
速度。通过创建多个线程,每个...
java
ftp
上传
下载
断点
续传
Java
FTP
(File Transfer Protocol)是
Java
编程中用于与
FTP
服务器交互的一种技术,它允许程序员编写应用程序来上传、
下载
文件,并
实现
断点
续传功能。在本文中,我们将深入探讨
Java
FTP
上传、
下载
以及
断点
续传的核心...
java
登录
FTP
下载
文件,支持
断点
下载
本场景中,我们关注的重点是如何
实现
一个功能完善的
FTP
下载
工具,它支持
断点
续传,即当
下载
中断后可以从上次停止的地方继续。以下是关于这个主题的详细解释: 首先,我们需要了解
FTP
的基本概念。
FTP
是一种用于在...
Java SE
62,629
社区成员
307,261
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章