Se o InputStreamReader converte byte para char o método .read() não deveria retornar um char ao invés de um int? Como devo fazer para que se retorne um char já convertido corretamente? Ou seja, gostaria de ler um arquivo letra por letra.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se o InputStreamReader converte byte para char o método .read() não deveria retornar um char ao invés de um int? Como devo fazer para que se retorne um char já convertido corretamente? Ou seja, gostaria de ler um arquivo letra por letra.
Fala Felipe, tudo bem ?
É possível obter o char a partir do inteiro retornado fazendo um cast =).
public static void main(String[] args){
InputStream inputStream = new FileInputStream("seu.txt");
InputStreamReader reader = new InputStreamReader(inputStream);
int i = reader.read();
while(i != -1) {
char chr = (char) i;
sysout(chr);
i = reader.read();
}
reader.close();
}
Espero ter ajudado. Abraço!