在使用java的ftp下载服务器上的文件获取文件的byte[],然后对byte进行加密传输时,
注意是要获取byte[],而不是下载文件到本地;
发现下载的byte[]大小总是小于文件实际大小,并且下载的大小是变化的
到网上查阅发现,ftp传输是不稳定的,会随网络情况波动;
所以对下载的方法进行了修改;
import sun.net.ftp.FtpClient;
import sun.net.ftp.FtpProtocolException;
public String download(String ftpFile, FtpClient ftpClient) {
InputStream is = null;
byte[] data = null;
try {
// 获取ftp上的文件
long size=ftpClient.getSize(ftpFile);
System.out.println(ftpClient.getSize(ftpFile));
is = ftpClient.getFileStream(ftpFile);
// System.out.println(is.available());
int count =is.available();
System.out.println("count:"+count);
while (count>0 || (data==null?0:data.length)
运行发现果然波动是很大的
参考:
https://blog.csdn.net/shb2058/article/details/52637213