How do i read in binary data files in java

Ionterac picture Ionterac · Apr 15, 2016 · Viewed 25.8k times · Source

So I'm doing a project for school where I need to read in a binary data file and use it to make stats, like strength and wisdom, for characters. It's set up so the first 8 bits make up one stat.

I was wondering what the actual syntax to do this is. Is it like reading text files, like this.

File file = new File("CharacterStats.dat");
Scanner inputScanner = new Scanner(file);

inputScanner.next();

Answer

Ali Seyedi picture Ali Seyedi · Apr 15, 2016

If you're using JDK 7+ the easiest way would be:

Path path = Paths.get("CharacterStats.dat");
byte[] fileContents =  Files.readAllBytes(path);

And then do with that array whatever you want.

Since a byte includes 8 bits you can access the first 8 bits by fileContents[0] and then probably control the flow of your program using bitwise operations.