@@ -0,0 +1,1539 @@
+package org.bunkr.core.operations;%0A%0Aimport org.bunkr.core.MetadataWriter;%0Aimport org.bunkr.core.fragmented_range.FragmentedRange;%0Aimport org.bunkr.core.utils.RandomMaker;%0A%0Aimport java.io.File;%0Aimport java.io.IOException;%0Aimport java.io.RandomAccessFile;%0Aimport java.nio.MappedByteBuffer;%0Aimport java.nio.channels.FileChannel;%0A%0A/**%0A * Created At: 2016-10-09%0A */%0Apublic class WipeFileOp%0A%7B%0A    /**%0A     * Given the archive path and a range of blocks, wipe the contents of those blocks.%0A     *%0A     * @param path the path to the bunkr file%0A     * @param blockSize the block size used by the archive%0A     * @param blockRange the range of blocks to wipe%0A     * @param fillRandom whether or not to fill the blocks with random, otherwise it will be wiped with zeroes%0A     * @throws IOException if there was an error while opening and writing the file.%0A     */%0A    public static void wipe(File path, int blockSize, FragmentedRange blockRange, boolean fillRandom) throws IOException%0A    %7B%0A        RandomAccessFile inputFile = new RandomAccessFile(path, %22rw%22);%0A        FileChannel inputFileChannel = inputFile.getChannel();%0A%0A        byte%5B%5D buffer = new byte%5BblockSize%5D;%0A%0A        for (int b : blockRange.toList())%0A        %7B%0A            if (fillRandom) RandomMaker.fill(buffer);%0A            long writePosition = b * blockSize + MetadataWriter.DBL_DATA_POS + Long.BYTES;%0A            MappedByteBuffer bb = inputFileChannel.map(FileChannel.MapMode.READ_WRITE, writePosition, buffer.length);%0A            bb.put(buffer, 0, buffer.length);%0A        %7D%0A    %7D%0A%7D%0A

add file wipe logic