As far I know, the two most common methods of reading character-based data from a file in Java is using Scanner or BufferedReader. I also know that
Scanner
BufferedReader
I prefer Scanner because it doesn't throw checked exceptions and therefore it's usage results in a more streamlined code.