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

java.lang.nullPointerException

Estas en el tema de java.lang.nullPointerException en el foro de Java en Foros del Web. Hola amigos estoy intentando leer un archivo de la siguiente forma y guardarlo en unas variables y me da el la excepcion del titulo. si ...
  #1 (permalink)  
Antiguo 28/05/2007, 19:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 129
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta java.lang.nullPointerException

Hola amigos estoy intentando leer un archivo de la siguiente forma y guardarlo en unas variables y me da el la excepcion del titulo. si me pueden enseñar por que sera se los agradeceria :)


Código PHP:
import java.io.*;
import java.util.*; // PERMITE EL USO DE LA FUNCION TOKENIZER
import java.io.InputStreamReader//PARA MANIPULAR ARCHIVOS TXT
import java.io.IOException;// PARA EXCEPTIONES
class ultimos
{
    
char serial[]=new char[20];
}

class 
datos
{
    
boolean error;
    
String nombre;
    
int fecha_nac[]=new int[3];
    
char serial[]=new char[20];
    
float basura;
    
ultimos ultimosquince[]=new ultimos[15];
}
class 
arobjetos
{
    
datos trashers[]=new datos[594];
    
int fecha_act[]=new int[3];
}
class 
Proyecto_1
{
    public static 
void main (String arg[]) throws Exception
    
{
        
arobjetos OBJ_trasher = new arobjetos();// INSTANCIO EL OBJETO PRINCIPAL.
        
try
        {
            
FileInputStream ope = new FileInputStream("Trashers.txt");// PARA LEER EL ARCHIVO OPEAICONES
            
DataInputStream ds = new DataInputStream(ope); // PARA LEER EL ARCHIVO OPEAICONES
            
String linea;
            
int i=0;
            while((
linea ds.readLine())!=null// MIENTRAS EXISTA OTRA LINEA ESCRITA
            
{
                
i++; // AUMENTO UN CONTADOR DE OPERAICONES O LINEAS
                
StringTokenizer st = new StringTokenizer(linea); // PARA SEPARAR LAS LINEAS EN VARIOS STRINGS
                
while (st.hasMoreTokens()) // MIENTRAS SIGAN HABIENDO ESPACIOS EN LA LINEA
                
{
                    try
                    {
                        
OBJ_trasher.trashers[0].nombrest.nextToken();
                    }
                    catch (
Exception error)
                    {
                        
System.out.println("Error al intentar guardar el valor.  "+error);
                    }
                    
                    
                }
            }
        }
        catch(
IOException error// SI SE PRODUCE ALGUNA EXCEPCION
        
{
            
System.out.println("Se prodjo un error con respecto a : "error);
        }    
                        
    }

  #2 (permalink)  
Antiguo 29/05/2007, 02:16
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: java.lang.nullPointerException

no pones la linea en la que te da, pero ese error se produce por esto:
objeto.operacion();
Dado un objeto y una operacion cualquiera que realice ese objeto, el puntero nulo se refiere a que objeto es nulo.Busca la linea y mira porque es nulo, como lo cargas y demas
  #3 (permalink)  
Antiguo 29/05/2007, 03:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: java.lang.nullPointerException

Código:
OBJ_trasher.trashers[0].nombre= st.nextToken();
-> Error, dado que el array no está inicializado del todo.

Mejor imprime las StackTrace en caso de error, son bastante útiles.
S!
  #4 (permalink)  
Antiguo 29/05/2007, 05:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 129
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: java.lang.nullPointerException

GreenEyed ---> Tienes razon gracias a los dos.. el problema era que no habia inicializado los elementos del arreglo de objetos..

a los que les interesa saber la solucion del problema coloque la siguint linea dentro del primer para y liesto



OBJ_trasher.trashers[0]=new arobjetos();

y listo. funciona perfectamente
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:49.