Add a hasNext
Can you simply add boolean hasNext() {return num_bytes_read != -1;} ? This way I can fuzzy benchmark it - else your code throws exceptions in the end.
This seems like a good idea. I'll make the change and add the appropriate tests this week to make sure it doesn't break anything.
While you are it, can you also add a constructor that accepts a BufferedReader too? Also you might want to implement some interface (e.g. Reader or InputStream) from the JDK.
The InputReader currently supports an java.io.InputStream as well as an optional buffer size for the given input stream, I'll update the README soon as I can. I mistakingly thought the BufferedReader implemented the InputStream interface, but apparently, it does not. I'll open an issue to include the java.io.Reader interface, because why not?
When you are designing a scanner like this, you want to take in a Reader at the end of the day since you can go to InputStream to a Reader but not other way.