Ler arquivo

5 respostas
J

E ai blz!

É o seguinte, gerei um arquivo texto num determinado formato, e agora preciso ler ele pegando determinadas posições, como um substring de pos ini ate pos fim e ir inserindo em uma tabela.Eu estou conseguindo ler o arquivo com FileReader, mas não to conseguindo pegar as posições especificas que eu quero.

Alguem sabe como fazer isso?



[]´

5 Respostas

T

Passa o que você já tem pronto pra gente ver o que pode fazer por você… :wink:

J
Segue abaixo o meu codigo de teste.


Como eu falei ele le o arquivo e printa na tela no mesmo formato que esta gravado no arquivo.


So que eu preciso ir lendo o arquivo e pegar da pos tal ate tal e inserir na coluna corresppondente, assim por diante ate inserir todos os registros na tabela do banco.Cada substring que eu pegar corresponde a um campo na tabela.


É isso.





[]´








import <a href="http://java.io">java.io</a>.*;





public class LerArq {


	public static void main(String args[]) {


		FileReader ler = null;


		try {


			ler = new FileReader((String) args[0]);


			StringBuffer linha = new StringBuffer();


			int i;


			while ((i = ler.read()) != -1) {


			  linha.append((char) i);


			}


			String str = linha.toString();


			System.out.println(str);


		}catch(IOException erro) {


			erro.printStackTrace();


		}finally {


			if(ler != null) {


				try {


			  		ler.close();


			  	}catch(IOException ioe) {


			  		ioe.printStackTrace();


			  	}


			}


		}


	}


}
T

E qual a mensagem de erro está aparecendo?



Ps.: já tentou ler linha por linha do arquivo e colocá-la na célula da tabela?

J

Não ta dando erro, so não ta fazendo o que eu quero.

Ex de arquivo:

joao23kkjadjaijdaojo

Eu quero pegar somente as posições de 0 ate 4(joao) e inserir no campo nome, dai pegar a posição 5 ate 6(23) e inserir no campo idade e assim

por diante.Eu não sei o que usar p/ quando ler a linha ja ir pegando as posições que eu quero.Da p/fazer assim ou tem que ser de outra forma???



[]´

F

String campo1 = str.substring(0, 4);



Simples :wink:

Criado 20 de junho de 2003
Ultima resposta 21 de jun. de 2003
Respostas 5
Participantes 3