package js.tinyvm.io; import java.io.IOException; /** * Helper class for padding. */ public class IOUtilities { /** * Write padding bytes. * * @param writer writer to write to * @param aMinRecSize size of one record * @throws IOException */ public static void writePadding (IByteWriter writer, int aMinRecSize) throws IOException { int pRegSize = writer.offset(); int pPad = adjustedSize(pRegSize, aMinRecSize) - pRegSize; writer.write(new byte[pPad]); } /** * Size in bytes corrected to record boundaries. * * @param aSize current size * @param aMinRecSize size after padding */ public static int adjustedSize (int aSize, int aMinRecSize) { int pMod = aSize % aMinRecSize; if (pMod != 0) { return aSize + aMinRecSize - pMod; } return aSize; } }