@Override public void writeTo(BSBFDeDuplicator probabilisticDeDuplicator, OutputStream out) throws IOException { final DataOutputStream dos = new DataOutputStream(out); dos.writeInt(version()); dos.writeLong(probabilisticDeDuplicator.numBits); dos.writeInt(probabilisticDeDuplicator.numHashFunctions); for (BitArray bloomFilter : probabilisticDeDuplicator.bloomFilters) { bloomFilter.writeTo(dos); } dos.writeDouble(probabilisticDeDuplicator.reportedDuplicateProbability); }
@Override public void writeTo(BSBFSDDeDuplicator probabilisticDeDuplicator, OutputStream out) throws IOException { final DataOutputStream dos = new DataOutputStream(out); dos.writeInt(version()); dos.writeLong(probabilisticDeDuplicator.numBits); dos.writeInt(probabilisticDeDuplicator.numHashFunctions); for (BitArray bloomFilter : probabilisticDeDuplicator.bloomFilters) { bloomFilter.writeTo(dos); } dos.writeDouble(probabilisticDeDuplicator.reportedDuplicateProbability); }
@Override public void writeTo(RLBSBFDeDuplicator probabilisticDeDuplicator, OutputStream out) throws IOException { final DataOutputStream dos = new DataOutputStream(out); dos.writeInt(version()); dos.writeLong(probabilisticDeDuplicator.numBits); dos.writeInt(probabilisticDeDuplicator.numHashFunctions); for (BitArray bloomFilter : probabilisticDeDuplicator.bloomFilters) { bloomFilter.writeTo(dos); } dos.writeDouble(probabilisticDeDuplicator.reportedDuplicateProbability); }
@Test public void testWriteToReadFrom() throws IOException { final BitArray bitArray = new BitArray(64L); assertTrue(bitArray.set(0L)); final ByteArrayOutputStream out = new ByteArrayOutputStream(); final DataOutputStream dos = new DataOutputStream(out); bitArray.writeTo(dos); out.close(); final ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); final DataInputStream dis = new DataInputStream(in); final BitArray serialized = BitArray.readFrom(dis); in.close(); assertEquals(bitArray, serialized); } }