Colocar o conteudo de um arquivo texto em variaveis

2 respostas
M

estou enviando o arquivo texto em anexo,
meu caso é o seguinte no arquivo texto, por exemplo em uma linha tenhoa as seguintes informações:

2 -1.0; 0.0; 0.0; 0.69813174

e preciso jogar cada numero em uma variavel, como a seguir:

quadro =2
x=-1.0
y=0.0
z=0.0
angulo = 0.69813174

Alguem pode me dar uma luz?

obrigado

Fabio

2 Respostas

Rafael_Steil

Use BufferedReader para abrir o arquivo, readLine() para ler linha por linha, e o metodo split() ( ou mesmo substring, dependendo do padrao) para “quebrar” a linha nas partes necessarias. Algo como

BufferedReader reader = new BufferedReader(new FileReader("gl3d.txt"));

String line = null;
while ((line = reader.readLine()) != null) {
    // aqui voce tem uma linha.. use line.split() ou 
    // linhe.substring() para separar os dados
}

reader.close();

Rafael

p5f8

Caramba... eu estava todo empolgado fazendo esse exemplo e o Rafael já respondeu... :roll:

mas mesmo assim vou postar o código que eu estava testando...
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class LendoArquivo {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String... args) throws IOException {
		// TODO Auto-generated method stub
		
		BufferedReader br = new BufferedReader(new FileReader("arquivo.txt"));
		
		String linha = "";
		
		while ( (linha = br.readLine()) != null ) {
			
			int numeroDoRegistro = Integer.parseInt(linha.substring(0,4).trim());
			
			String array[] = linha.substring(5,(linha.length()-1)).split(";");
			
			double x, y, z, angulo;
			
			try {
				x = Double.parseDouble(array[0]);
			} catch ( NumberFormatException nfe ) {
				x = 0.0;
			}
			
			try {
				y = Double.parseDouble(array[1]);
			} catch ( NumberFormatException nfe ) {
				y = 0.0;
			}
			
			try {
				z = Double.parseDouble(array[2]);
			} catch ( NumberFormatException nfe ) {
				z = 0.0;
			}
			
			try {
				angulo = Double.parseDouble(array[3]);
			} catch ( NumberFormatException nfe ) {
				angulo = 0.0;
			}
			
			System.out.println(linha);
			System.out.println("--> registro=" + numeroDoRegistro + " x " + x + " y " + y + " z " + z + " angulo " + angulo);
			System.out.println("\n");
		}
		
		br.close();
	}

}
Criado 22 de março de 2005
Ultima resposta 22 de mar. de 2005
Respostas 2
Participantes 3