| /* |
| * EncoderUtil |
| * |
| * Author: Lasse Collin <lasse.collin@tukaani.org> |
| * |
| * This file has been put into the public domain. |
| * You can do whatever you want with this file. |
| */ |
| |
| package org.tukaani.xz.common; |
| |
| import java.io.OutputStream; |
| import java.io.IOException; |
| import java.util.zip.CRC32; |
| |
| public class EncoderUtil extends Util { |
| public static void writeCRC32(OutputStream out, byte[] buf) |
| throws IOException { |
| CRC32 crc32 = new CRC32(); |
| crc32.update(buf); |
| long value = crc32.getValue(); |
| |
| for (int i = 0; i < 4; ++i) |
| out.write((byte)(value >>> (i * 8))); |
| } |
| |
| public static void encodeVLI(OutputStream out, long num) |
| throws IOException { |
| while (num >= 0x80) { |
| out.write((byte)(num | 0x80)); |
| num >>>= 7; |
| } |
| |
| out.write((byte)num); |
| } |
| } |