本文目的是为了记录,项目开发时的一个小BUG,如果你是大佬,或者对InputStream十分熟悉,那么可以忽略!
今天开发项目的时候遇见了一个小BUG,该功能如下:
- 读取指定FTP服务器里面的文件数据,并计算md5签名
- 推送到备份FTP服务器
以上功能涉及到公司项目功能实现,不能详细多说,大致功能就是这样,读取一个MD5同步到另外一个服务器,期间我遇到什么问题了呢?先看一个模拟的代码实现!
package com.inputstreams;
import org.apache.commons.codec.digest.DigestUtils;
import java.io.ByteArrayInputStream;
import java.io.IOException;
/**
* @author huangfu
*/
public class TestInputStream {
public static void main(String[] args) throws IOException {
//从源FTP服务器获取一个InputStream流信息
ByteArrayInputStream byteArrayInputStream =
new ByteArrayInputStream("12312312312".getBytes());
byte[] bytes = new byte[1024];
int index = 0;
//计算MD5值
String fileMd5 = DigestUtils.md5Hex(byteArrayInputStream);
System.out.println(fileMd5);
//模拟推送方法读取InputStream
while ((index = byteArrayInputStream.read(bytes)) != -1) {
S