java ftp断点续传_java实现ftp断点传输

1 需求背景

最近工作内容变化的很快,不到一个月的时间,已经交接了三个项目。目前遇到了一个新的需求,实现ftp的断点传输功能。

那么什么叫断点传输呢?理解起来其实很简单。断点,就是上次传输的时候突然断了,这次接着上次的传输的进度继续传。

2 原理介绍

那么字面意思,我们已经理解了,实际上ftp断点传输是怎么实现的呢?

实现起来也很简单,每次传输前,先检查下远程文件是否已经存在,如果存在了,那么我们就读取这个文件的大小。然后比较下带传输文件和现在的文件的大小。如果没有现在的文件大,那么可以认为之前上传的文件是完成的,本次不需要上传,但是,现在的文件要是比待上传的文件小的话,就需要重新或者继续上传了。选择继续上传的话,就是断点传输了。

3 代码实现

那么怎么实现这次上传接着上次上传呢?我们都知道,文件操作是有一个文件指针的,每次操作的时候,指针都会移动。因此,如果想实现继续接着上次上传文件,只需要将待上传的文件指针移动一个已经上传的文件的大小即可。明白了原理,代码也就好写了。

```

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.io.PrintWriter;

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;

public class ContinueFTP {

private FTPClient ftpClient = new FTPClient();

public ContinueFTP(){

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

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

}

/**

* java编程中

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值