Pessoal, gostaria que me tirassem mais esta dúvida. Pra eu criar uma stream de caractere, eu preciso necessariamente criar uma stream de byte BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) , como no exemplo abaixo? E esse readLine, é o método p/ mostrar a String digitada, na tela? Qual excessão poderia dar no bloco try catch… se eu digitasse o que, por exemplo?
[b]import java.io.*;
public class LeituraTecladoBufferReader {
public static void main(String[] arguments) {
// Primeira forma de declaração
System.out.print("Digite alguma coisa e tecle enter: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String palavra;
try{
palavra = br.readLine();
System.out.println("Voce digitou: "+ palavra);
}
catch(IOException e) {
System.out.println("Erro durante a leitura" + e);
}
// Segunda forma de declaração
String buffer;
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader bufferin = new BufferedReader(teclado);
while (true) {
try{
System.out.print("Digite o texto e tecle enter (exit para sair): ");
buffer = bufferin.readLine();
if( buffer.equals("exit") ) {
break;
}
System.out.println("echo: " + buffer); // Mostra na tela
}
catch(IOException e) {
System.out.println("Erro durante a leitura do echo" + e);
}
}
}
}
[/b]