How Do I Read in Binary Data Files in Java

How Do I Read in Binary Data Files in Java

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();
0

2 Answers

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.

Instead of a Scanner you would use something like this:

File file = new File("CharacterStats.dat");
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
YourClass object = (YourClass) ois.readObject();

Where the third line you are creating a new object from the stream, and casting it to the object you want. You must do this because java cannot know what object is being read in.

EDIT: This is for reading in the binary data as serialized Objects. I may have misinterpreted your question as your "stats" being Objects.

3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Chloe Bennett
Author

Chloe Bennett

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.