[Resolvido]Conversão de Data

9 respostas
Ace

Boa tarde pessoal,

tenho um sitema que lê um determinado arquivo texto em um local de meu server, porém todos os registros que estão nesse arquivo não estão aparecendo em meu jsp.
ao rodar o sistema ele cai em uma exception:

public static void gerarRelatorio() throws IOException, ParseException{
		String texto[] = new String[6];
		File arquivo = new File("/etc/tomcat6/webapps/registro/registro.txt");		
		FileReader fr;
		Set<String> lista = new HashSet<String>();
		try {
			fr = new FileReader(arquivo);
		} catch (FileNotFoundException e1) {
			System.out.println("Arquivo nao encontrado!");
			return;
		}
		
                BufferedReader br = new BufferedReader(fr);
		SimpleDateFormat spf = new SimpleDateFormat("dd/MM/yyyy");				
		while(br.read() != -1){
			HibernateUtility.beginTransaction();
			texto =  br.readLine().split(" ");
			Date data = spf.parse(texto[0]);     <----- aponta o erro aqui
                 
                       //outras regras de negocio aqui para baixo
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		try {
			CatracaBO.gerarRelatorio();
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			System.out.println("Não foi possivel converter a data");   <---- cai nessa exception
		}
		chain.doFilter(request, response);
	}

Como poderia resolver isso?
obrigado

9 Respostas

Hebert_Coelho

Qual o erro?

joaoorso

Já acompanhou em debug pra ver o conteúdo de:

texto[0]

?

Ace

Ele não gera erro nenhum!
só cai nessa exception!

Hebert_Coelho

Qual? Se cai em alguma exception é pq teve erro. :stuck_out_tongue:

Ace

Limpei meu console e rodei, essa é a unica saida… até cair na exception

Hibernate: /* from Usuario where password='123' and username='admin' */ select usuario0_.registro as registro1_, usuario0_.nome as nome1_, usuario0_.username as username1_, usuario0_.password as password1_ from Usuario usuario0_ where usuario0_.password='123' and usuario0_.username='admin' Hibernate: /* from Usuario where password='123' and username='admin' */ select usuario0_.registro as registro1_, usuario0_.nome as nome1_, usuario0_.username as username1_, usuario0_.password as password1_ from Usuario usuario0_ where usuario0_.password='123' and usuario0_.username='admin' Não foi possivel converter a data

Hebert_Coelho

Ace:
até cair na exception
Em qual???

joaoorso

Na ParseException …
Tá escrito lá em cima !

algum conteúdo de texto[0]
nao pode ser convertido em data …

e nao vai imprimir nada no console mesmo … se tem Try catch sem um stacktrace

Hebert_Coelho

Coloca System.out.println("Valor do texto: " + texto[0]) antes de você tentar fazer o parse e você vai ver qual o valor que está vindo.

Ace

Galera resolvido!
O que aconteceu foi o seguinte, ao debugar a aplicação vi que o arquivo a ser lido estava sendo outro do qual é para ser lido, o mesmo estava com mais de 50 mil registros, sendo eles de 2007 pra cá.

A mecânica dessa minha aplicação, é a seguinte:
o sistema lê o arquivo atual somente com os registros das datas de hj (por exemplo), grava no bd obviamente para deixar registrado, exclui o arquivo do diretorio /etc/tomcat6/webapps/registro/registro.txt

como esse arquivo é apagado diariamente o tamanho não passa de 200k, o arquivo que ele estava tentando ler e fazer conversões de datas desde 2007 estava absurdamente grande.

apaguei essas informações e ele funcionou certo agora…!

Agora não me perguntem o pq ele dava erro de conversão de data pois não faço a minima ideia! :slight_smile: se alguém se arriscar uma explicação…rsrs

Galera mais uma vez muito o brigado pelo retorno de todos…

abras boa tarde!

Criado 7 de março de 2012
Ultima resposta 7 de mar. de 2012
Respostas 9
Participantes 3