/*
* This class is an example only. A "final" version of
* this class should implement the DataOutput interface
* and provide implementations for the methods declared in
* DataOutput.
*/
import java.io.*;
public class CheckedDataOutput {
private Checksum cksum;
private DataOutput out;
public CheckedDataOutput(DataOutput out, Checksum cksum) {
this.cksum = cksum;
this.out = out;
}
public void write(int b) throws IOException {
out.write(b);
cksum.update(b);
}
public void write(byte[] b) throws IOException {
out.write(b, 0, b.length);
cksum.update(b, 0, b.length);
}
public void write(byte[] b, int off, int len) throws IOException {
out.write(b, off, len);
cksum.update(b, off, len);
}
public Checksum getChecksum() {
return cksum;
}
}
|