快速比较输入流的方法
2022-09-01 13:31:16
我有一个问题,我需要快速比较两个输入流。
今天我有一个这样的函数:
private boolean isEqual(InputStream i1, InputStream i2) throws IOException {
try {
// do the compare
while (true) {
int fr = i1.read();
int tr = i2.read();
if (fr != tr)
return false;
if (fr == -1)
return true;
}
} finally {
if (i1 != null)
i1.close();
if (i2 != null)
i2.close();
}
}
但速度真的很慢。我想使用缓冲读取,但还没有想出一个好方法。
一些额外的东西使它更难:
- 我不想将其中一个输入流读入内存(整个输入流)
- 我不想使用第三方库
我需要一个实用的解决方案 - 代码!:)