Foros del Web » Programación para mayores de 30 ;) » Java »

Error al parsear datos de un txt a un arreglo

Estas en el tema de Error al parsear datos de un txt a un arreglo en el foro de Java en Foros del Web. Hola amigos estoy tratando de pasar las lineas de un archivo.txt a un arreglo pero me sale un error al imprimir el resultado. Quisiera que ...
  #1 (permalink)  
Antiguo 25/10/2013, 09:59
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 3 meses
Puntos: 0
Error al parsear datos de un txt a un arreglo

Hola amigos estoy tratando de pasar las lineas de un archivo.txt a un arreglo pero me sale un error al imprimir el resultado. Quisiera que por favor me colaboraran ya llevo varios dias intentando de una forma u otra y no se como hacerlo ya.
El codigo es el siguiente:


Código:
import java.io.*; 
import java.util.ArrayList; 
class PruebaPrecio{
    public static void main(String [] arg) { 
        
        File archivo = null; 
FileReader fr = null; 
ArrayList<String> lineas = new ArrayList<String>(); 
       
        
try { 
	archivo = new File ("C:/Users/win7/Desktop/Sin ordenar/Sinordenar_10k_1D.txt"); 
	String linea; 
	fr = new FileReader (archivo); 
	BufferedReader br = new BufferedReader(fr); 
		while((linea=br.readLine())!=null)
		{ 
			lineas.add(linea);
		} 

for (int j = 0 ; j < lineas.size() ; j++)
{ 
	linea = lineas.get(j);
	int[] x = new int[lineas.size()];
	x[j] = Integer.parseInt(linea);
	System.out.print ( x[j] + "\n" ); 
}	

	}
	//FIN DEL TRY 
catch(IOException e){ 
System.out.println(e); 
} 
System.exit(0);} 
}
Y me sale este error al imprimir

Exception in thread "main" java.lang.NumberFormatException: For input string: "| 0 || 1 |"


Quisiera que por favor me ayuden en lo que estoy haciendo mal. Gracias
  #2 (permalink)  
Antiguo 25/10/2013, 10:10
JMitsu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al parsear datos de un txt a un arreglo

Hola. Nuevamente te explico.

NumberFormatException significa que se esperaba un número pero se ha ingresado un String, un char, o cualquier otra cosa que no sea un numero.

En el error te está diciendo bien claro:

Cita:
Exception in thread "main" java.lang.NumberFormatException: For input string: "| 0 || 1 |"
Si lees bien, dice:

Cita:
Excepción en thread main. Excepción de formato de Número para string ingresado: "|0||1|"
Esto es obivo, te está diciendo que NO PUEDE CONVERTIR esa línea a Entero. Y eso es obvio, ¿como piensas convertir |0||1| a Entero?

Para que una conversión se lleve a cabo, es necesario que el String ingresado tenga formato de número, esto es:

123, 123443, 1049494, etc.


Deja el contenido del .txt en tu próxima respuesta.



Otra cosa, ésta línea:

Código Java:
Ver original
  1. for (int j = 0 ; j < lineas.size() ; j++)
  2. {
  3.     linea = lineas.get(j);
  4.     int[] x = new int[lineas.size()];
  5.     x[j] = Integer.parseInt(linea);
  6.     System.out.print ( x[j] + "\n" );
  7. }

Por qué creas un arrelgo si siempre vas a almacenar solo 1 valor?

Lo lógico sería:

Código Java:
Ver original
  1. for (int j = 0 ; j < lineas.size() ; j++)
  2. {
  3.     linea = lineas.get(j);
  4.     x = Integer.parseInt(linea);
  5.     System.out.print ( x + "\n" );
  6. }
  #3 (permalink)  
Antiguo 25/10/2013, 15:49
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Error al parsear datos de un txt a un arreglo

si gracias. lo estaba haciendo bien. El problema era que el archivo tenia caracteres como barras o puntos y por eso me botaba ese error. Muchas gracias por la ayuda

Etiquetas: arreglo, parsear, string, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.