Salve,
Aprendendo a usar fluxos, fiz um programinha teste que lesse dois números e imprimisse a soma. Para ler os números do teclado usei
DataInputStream dis = new DataInputStream (System.in);
e depois
a = dis.readInt();
O resultado foi completamente errado, um número absurdamente grande. A solução foi usar
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
e depois
a = Integer.parseInt(bf.readLine());
Tentei entrar com os dados a partir de um arquivo e o resultado foi semelhante. Se a classe DataInputStream tem os métodos específicos para a leitura de números porque não deu certo? Afinal, como saber se o fluxo que queremos abrir é de bytes ou de caracteres?
Grato,
Arnaldo.
