38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
package com.google.common.hash;
|
|
|
|
import com.google.common.base.Preconditions;
|
|
import java.io.FilterOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.OutputStream;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class HashingOutputStream extends FilterOutputStream {
|
|
private final Hasher hasher;
|
|
|
|
public HashingOutputStream(HashFunction hashFunction, OutputStream outputStream) {
|
|
super((OutputStream) Preconditions.checkNotNull(outputStream));
|
|
this.hasher = (Hasher) Preconditions.checkNotNull(hashFunction.newHasher());
|
|
}
|
|
|
|
@Override // java.io.FilterOutputStream, java.io.OutputStream
|
|
public final void write(int i) throws IOException {
|
|
this.hasher.putByte((byte) i);
|
|
((FilterOutputStream) this).out.write(i);
|
|
}
|
|
|
|
@Override // java.io.FilterOutputStream, java.io.OutputStream
|
|
public final void write(byte[] bArr, int i, int i2) throws IOException {
|
|
this.hasher.putBytes(bArr, i, i2);
|
|
((FilterOutputStream) this).out.write(bArr, i, i2);
|
|
}
|
|
|
|
public final HashCode hash() {
|
|
return this.hasher.hash();
|
|
}
|
|
|
|
@Override // java.io.FilterOutputStream, java.io.OutputStream, java.io.Closeable, java.lang.AutoCloseable
|
|
public final void close() throws IOException {
|
|
((FilterOutputStream) this).out.close();
|
|
}
|
|
}
|