java ftp怎么实现java ftp方式的断点续传

java ftp怎么实现java ftp方式的断点续传,第1张

运用类的办法,编程人员能够长途登录到FTP服务器,罗列该服务器上的目录,设置传输协议,以及传送文件。FtpClient类涵 盖了简直一切FTP的功用,FtpClient的实例变量保留了有关树立"署理"的各种信息。下面给出了这些实例变量:

public static boolean useFtpProxy

这个变量用于标明FTP传输过程中是不是运用了一个署理,因此,它实际上是一个符号,此符号若为TRUE,标明运用了一个署理主机。

public static String ftpProxyHost

此变量只要在变量useFtpProxy为TRUE时才有用,用于保留署理主机名。

public static int ftpProxyPort

此变量只要在变量useFtpProxy为TRUE时才有用,用于保留署理主机的端口地址。

FtpClient有三种不同方式的结构函数,如下所示:

1、public FtpClient(String hostname,int port)

此结构函数运用给出的主机名和端口号树立一条FTP衔接。

2、public FtpClient(String hostname)

此结构函数运用给出的主机名树立一条FTP衔接,运用默许端口号。

3、FtpClient()

此结构函数将创立一FtpClient类,但不树立FTP衔接。这时,FTP衔接能够用openServer办法树立。

一旦树立了类FtpClient,就能够用这个类的办法来翻开与FTP服务器的衔接。类ftpClient供给了如下两个可用于翻开与FTP服务器之间的衔接的办法。

public void openServer(String hostname)

这个办法用于树立一条与指定主机上的FTP服务器的衔接,运用默许端口号。

由于FTP是顺序接收文件的,所以,只要计算已接收的数据大小,就可以知道断点在文件的偏移量,续传时,客户端将已接收的数据量传递给服务器,服务器使用这个做为偏移量继续读取文件,将剩余的数据发送至客户端,客户端仅需将接收到的数据追加至原文件尾部即可

这样的一个过程即可实现断点续传

另外有一些客户端为了闭免错误(因为掉线经常是由于错误引起的),会少发送实际接收的数据量,比如原1M的文件,已接收512KB,客户端可能会返回给服务器500KB,这样服务器就会从500KB处开始返回数据,客户端则从500KB处开始覆盖已有的12KB,以避免由于错误断开时造成的数据错误好像说多了

这个不是电脑问题,是服务器端对文件下载的限制……有的文件在下载的时候可以暂停、甚至停止下载后有时间还可以继续下载,这种是支持断点续传的;有的文件只能一口气下完,中间不能暂停和停止,一旦出现断开,就需要重新开始下载,这种是不支持断电续传的。下载软件在你点击暂停的时候一般会提示你……

1HTTPbegintryIdHTTPRequestContentRangeStart := 2; //设定断点续传的开始位置IdHTTPRequestContentRangeEnd := 3; //设置传输的结束位置,为了以最快的速度返回结果,所以设定请求的总长度为1if IdHTTPResponseResponseCode = 206 then //根据返回代码判断是否支持断点续传ShowMessage('该FTP站点支持断点续传。')elseShowMessage('该FTP站点不支持断点续传。')exceptend;end;variValue: Integer;beginwith IdFTP dotryif Connected then Disconnect;Username := 'anonymous'; //这是FTP的用户名Password :='test@ftpcom'; //只是FTP的密码Host := 'ftpglobalscapecom'; Port := 21;Connect;exceptexit;end;tryiValue := IdFTPSendCmd('REST 1'); //发送指令判断是否支持断点续传ShowMessage('该FTP站点支持断点续传。')elseShowMessage('该FTP站点不支持断点续传。')exceptend;end;

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java ftp怎么实现java ftp方式的断点续传

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情