Dúvida com Output

2 respostas
Victor_Neves

galera, eu to com uma dúvida aqui num exercício.
eu não compreendo esse código, o exercício pede pra ler um arquivo e,em vez de jogar na tela, jogar em um arquivo.
ai na resolução ta assim:

[i]             InputStream a = System.in;

InputStreamReader b = new InputStreamReader(a);

BufferedReader c = new BufferedReader(b);
OutputStream h = new FileOutputStream(Saida5.txt);

OutputStreamWriter i = new OutputStreamWriter(h);

BufferedWriter j = new BufferedWriter(i);
String k = c.readLine();
	while (k != null ){
		j.write(k);
		j.newLine();
		k = c.readLine();
		
	}
	j.close();[/i]

só que, eu nao entendo onde ele lê, onde ele escreve, o que cada linha está mandando fazer.O meu maior problema é ali onde eu coloquei sublinhado,eu nao entendo.E eu nao posso pular um exercicio sem entende-lo rsrs

e outra dúvida, eu peguei uns exercicios de quando eu fazia logica de prog. com OO pra fazer so que em java, ai eu tive um outro problema, como eu faço pra ler numeros inteiros do teclado? pra depois fazer comparaçoes…
desculpa a ingenuidade da pergunta mas é que como eu nao tenho grana pra pagar num curso java to tendo que dar uma de autodidata com uma apostila gigante aqui rssrs :oops:

2 Respostas

M

Vamos lá: a primeira linha, cria um objeto do tipo FileOutputStream, que será a “ponte” para o arquivo. A segunda cria um objeto para escrever no FileOutputStream criado (por isso o nome de Writer) e a terceira cria um objeto para escreve com um buffer onde se armazena os dados (através do método write()) e depois escrevê-os.

Na execução, a idéia é o oposto da criação: primeiro se preenche o buffer ‘j’, depois escreve esse buffer em um FileOutputStream.

No laço for, o método readLine() lê uma nova linha do objeto c (no caso uma entrada do teclado) e o método write() manda escrever um String no objeto j.

Deu pra captar a idéia?

Quanto aos números inteiros, basta ler (como feito no exercício) e depois usar o método estático da classe Integer parseInt(String). Exemplo:

String s = "55"; // é um string
int i = Integer.parseInt(s); // agora resgatei o valor inteiro
int soma = i + 10; // agora é 65
System.out.println(soma); // imprime 65
Victor_Neves

peguei a idéia…

vlw!

Criado 12 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 2
Participantes 2