Tienes un ejemplo completo de como se leen ficheros en Java con https://jarroba.com/lectura-escritura-ficheros-java-ejemplos/
Luego para leer de 50 en 50 caracteres podrías convertir el string a una stream de caracteres y en un bucle ir contando de 50 en 50, por ejemplo:
String miString = "un texto";
// Para obtener el código Ascii de cada carácter en un strem de enteros
IntStream intStream = miString.chars();
// O recorrer cada caracter en un stream
miString.chars()
.mapToObj(x -> (char)x)
.forEach(System.out::println);
// O recorrer cada caracter y guardarlo en un conjunto
Set<Character> set = miString.chars()
.mapToObj(x -> (char)x)
.collect(Collectors.toSet());