Manipular aquivos TXT (Resolvido)

8 respostas
luiz.kava

Pessoal, estou com uma grande dificuldade,
tenho um aquivo tipo txt com por exemplo 5 lihas
1
2
3
4
5
Eu consigo fazer o programa ler esse aquivo, porem nao consigo
manipular ele para fazer funções com ele.
como faço para fazer essa manipulação??? por exemplo pegar o numero da primeira linha e multiplicar pelo da quinta linha !

agradeço…

8 Respostas

pvrsouza

Vc pode usar FileReader() e Split para manupular os dados do TXT.

Tenta e qualquer coisa posta ae!

fesaab

Voce pode usar também a classe RandomAccessFile.

luiz.kava

Kara eu to trabalhando, mas consegui programar o codigo abaixo, com ele estou conseguindo ler linha por linha...

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class LeituraArquivo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		FileReader fre = null;
		try {
			// Cria uma representação do seu arquivo com File
			File f = new File("c:/conexao.conf");

			// Abre o arquivo para leitura
			fre = new FileReader(f);

			// Transforma o leitor para que leia linha a linha
			BufferedReader bre = new BufferedReader(fre);

			String linha = null;

			// Laço infinito que le o arquivo
			for (;;) {
				linha = bre.readLine();

				// Se linha retornada for nula, chegou ao fim do arquivo
				if (linha == null)
					break;

				// A linha está ok.
				System.out.println(linha);

			}

		} catch (IOException e) {
			throw new RuntimeException("Erro geral ao abrir arquivo", e);
		} finally {

			// Fechar o arquivo independentemente do erro
			if (fre != null) {
				try {
					fre.close();
				} catch (IOException e) {/* ignorado */
				}
			}
		}

	}
}

Agora minha dificuldade está em manipular mais o aquivo (c:/conexao.conf)
ele serve como uma entrada de dados dessa forma.
1 3 (na primeira linha eu tenho dois dados separados por um espaço, eu preciso utilizar os dois separadamente)
22 (na segunda linha preciso pegar esse inteiro mesmo)
1 2 3 1 (na terceira linha preciso ler cada numero separado por espacos, da mesma forma que fiz na primeira linha)

se puderem me ajudar agradeço.
att.

luiz.kava
pvrsouza:
Vc pode usar FileReader() e Split para manupular os dados do TXT.

Tenta e qualquer coisa posta ae!

Kara eu to trabalhando, mas consegui programar o codigo abaixo, com ele estou conseguindo ler linha por linha...

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class LeituraArquivo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		FileReader fre = null;
		try {
			// Cria uma representação do seu arquivo com File
			File f = new File("c:/conexao.conf");

			// Abre o arquivo para leitura
			fre = new FileReader(f);

			// Transforma o leitor para que leia linha a linha
			BufferedReader bre = new BufferedReader(fre);

			String linha = null;

			// Laço infinito que le o arquivo
			for (;;) {
				linha = bre.readLine();

				// Se linha retornada for nula, chegou ao fim do arquivo
				if (linha == null)
					break;

				// A linha está ok.
				System.out.println(linha);

			}

		} catch (IOException e) {
			throw new RuntimeException("Erro geral ao abrir arquivo", e);
		} finally {

			// Fechar o arquivo independentemente do erro
			if (fre != null) {
				try {
					fre.close();
				} catch (IOException e) {/* ignorado */
				}
			}
		}

	}
}

Agora minha dificuldade está em manipular mais o aquivo (c:/conexao.conf)
ele serve como uma entrada de dados dessa forma.
1 3 (na primeira linha eu tenho dois dados separados por um espaço, eu preciso utilizar os dois separadamente)
22 (na segunda linha preciso pegar esse inteiro mesmo)
1 2 3 1 (na terceira linha preciso ler cada numero separado por espacos, da mesma forma que fiz na primeira linha)

se puderem me ajudar agradeço.
att.

luiz.kava

???

ralphsilver

Você pode usar o split…

exemplo

String[] s =  linha.split(" ")

o split separa a string e manda os resultados em um vetor, sendo separados pelo caractere que vc especificar…

daí pra somar vc transforma para inteiro:

int soma = 0; for(String dcNumero:s){ soma += new Integer(dcNumero); }

ralphsilver

Bom,

ehehehe acabei exagerando pois eu não sei se vc precisa de uma soma… mas caso não precise… já tem o vetor no primeiro código com os dados…

luiz.kava

ralphsilver:
Bom,

ehehehe acabei exagerando pois eu não sei se vc precisa de uma soma… mas caso não precise… já tem o vetor no primeiro código com os dados…

Isso mesmo meu brother…deu certo aqui dessa forma…
vlw …

Criado 30 de março de 2010
Ultima resposta 4 de abr. de 2010
Respostas 8
Participantes 4