Como funciona

2 respostas
A

Olá pessoal, peguei alguns exemplos de como capturar informação pelo teclado, testei e funcionou legal porém tem algumas partes dos exemplos que eu não entendi muito bem então vou colocar 2 exemplos e se alguém souber me explicar, linha à linha para ver se eu entendi de modo correto

Esse primeiro exemplo captura informação via teclado e grava em um arquivo “txt”

import java.io.*;
public class Grava
{
	public static void main(String[] args)
	{
		File file = new File(args[0]);
		try
		{
			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
			PrintWriter out = new PrintWriter(new FileWriter(file));
			String texto = null;
			System.out.print("Digite o texto!" );
			System.out.println("CTRL+Z para gravar");
			while((texto = in.readLine()) != null)
			{
				out.println(texto);
			}
			in.close();
			out.close();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

Eu testei esse exemplo e li várias vezes mas não consegui entender tudo, a parte inicial acredito que entendi bem mas o meio ficou meio confuso!

Esse é o outo exemplo, ele grava as informções de um arquivo txt em outro arquivo txt, também funcionou muito bem:

import java.io.*;
public class Copy
{
	public static void main(String[] args)
	{
		try
		{
			FileReader input = new FileReader(args[0]);
			FileWriter output = new FileWriter(args[1]);
			char[] buffer = new char[128];
			int charsRead = 0;
			charsRead = input.read(buffer);
			while (charsRead != -1)
			{
				output.write(buffer, 0, charsRead);
				charsRead = input.read(buffer);
			}
			input.close();
			output.close();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
}

Alguém poderia me dar uma explicação linha a linha desses códigos, já tentei mas não consigo entender tudo estou meio perdido

2 Respostas

J

Oi

alexandremanowar, linha a linha??? 8O 8O 8O

hehehe, seria melhor vc falar em que linha especifica vc tem duvida, ou uma sintaxe, um objeto desconhecido… :lol:

T+

A

No primeiro exemplo que deixei tem as seguintes linhas:

BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
         PrintWriter out = new PrintWriter(new FileWriter(file));

Eu entendi nessa linha o seguinte: A linha do BufferedReader captura a informação que está sendo digitada pelo teclado

a linha PrintWriter pega o nome do arquivo que está sendo digitado no terminal exe.:

c:\java>java Grava teste.txt
Ou seja o file. Com isso é criado o nome do arquivo txt
Então criei uma String de texto com o valor NULL.

while((texto = in.readLine()) != null) 
         { 
            out.println(texto); 
         } 
         in.close(); 
         out.close();

Esse loop é que está meio confuso, eu entendi dessa forma:

O while diz que enquanto o estiver sendo digitado algo no terminal, o que estiver sendo digitado fica armazenado na varável texto, a linha out.println(texto);, pega o que está na variável texto e escreve ou grava no file.
Se eu estiver errado me corrija, por favor. Agora essas linhas:

Não entendi nada, você poderia me explicar[/b]

Criado 29 de março de 2005
Ultima resposta 31 de mar. de 2005
Respostas 2
Participantes 2