Visual C++ BinaryReader в Java
Есть ли в Java метод, который бы реализовывал ту же функцию, что и BinaryReader() в Visual C++
3 ответа
public interface DataInput
Интерфейс DataInput обеспечивает чтение байтов из двоичного потока и восстановление из них данных в любом из примитивных типов Java.
Все известные классы реализации: DataInputStream, ImageInputStreamImpl, ImageOutputStreamImpl, ObjectInputStream, RandomAccessFile
Кроме того, вы ищете класс в Java, а не метод (так как BinaryReader является классом, а не функцией в C++)
Я нуждался в этом и написал эквивалентный класс.
https://gist.github.com/vangorra/9470810
По сути, это реализация.Net BinaryReader в Java. В нем реализованы не все методы, но он обеспечивает хорошее начало для всех, кому нужно идти по этому пути.
Пример того, что может сделать этот класс:
BinaryReaderDotNet reader = new BinaryReaderDotNet(new FileInputStream(new File("blah.bin")));
reader.readInt32(); // returns int
reader.readUInt32(); // returns long
reader.readInt16(); // returns int (first bits are zeroed)
reader.readUInt16(); // returns int (first bits are zeroed)
reader.readString(); // returns a string.
reader.readBoolean(); // returns a boolean
reader.readSingle(); // returns a float