Dúvidas sobre IO

3 respostas
R

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]

3 Respostas

S

No Java 5 existe a classe Scanner que facilita isso e no Java 6 acho que existe a Console pra isso.

readLine() é pra ler a próxima linha do stream.

Pode dar IOException se você tentar ler uma linha de um stream já fechado. Não sei como isso pode acontecer de um stream de teclado, mas deve poder, pois é obrigatório.

R

A classe Scanner é uma classe só de leitura? ou possui escrita também? os métodos de leitura p/ classe Scanner são nextInt(), nextChar(), etc.?
O que faz o método nextHas()???

S

http://java.sun.com/javase/6/docs/api/java/io/Console.html

http://java.sun.com/javase/6/docs/api/java/util/Scanner.html

Criado 22 de abril de 2007
Ultima resposta 25 de abr. de 2007
Respostas 3
Participantes 2