Getting Started
Status: Initial implementation complete.
KissBinary is not yet published. This page describes the current usage flow.
Installation
Once published to Maven Central:
<dependency>
<groupId>io.github.arthurhoch</groupId>
<artifactId>kiss-binary</artifactId>
<version>0.1.0</version>
</dependency>
No transitive dependencies. Just the JDK.
Usage
Write binary data
BinaryWriter writer = BinaryWriter.create();
writer.writeInt(42);
writer.writeLong(1000L);
writer.writeDouble(3.14);
byte[] data = writer.toByteArray();
Read binary data
BinaryReader reader = BinaryReader.from(data);
int value = reader.readInt();
long big = reader.readLong();
double pi = reader.readDouble();
Validate a file header
reader.validateMagic(new byte[]{0x4B, 0x42});
reader.validateVersion(1);
int count = reader.readInt();
Use little-endian
BinaryWriter writer = BinaryWriter.create(Endianness.LITTLE_ENDIAN);
BinaryReader reader = BinaryReader.from(data, Endianness.LITTLE_ENDIAN);
Memory-map a file
try (MappedBinaryReader reader = MappedBinaryReader.from(Path.of("data.bin"))) {
int count = reader.readInt(0);
}