0

Lo que me pasa exactamente es que creo que tengo un error en el código, a lo hará de crear fichero pero no tengo idea del error

A continuación pongo el código para que lo veáis.

Al ejecutar el método leerArchivo sale el NullPointerException he mirado y al parecer tiene que ver con variables inicializas sin valores. Pero no creo que se eso la verdad y no se que puede ser lo que tengo mal en mi código.

Creo que los principales errores estan entre Crear archivo y leerTexto

private void crearArchivo(){
        archivo = new File("ficheros//texto.txt");
        
        try {
            if(archivo.createNewFile()){
                System.out.println("El archivo se creo correctamente");
                
            }
        } catch (IOException ex) {
            //Mostrar en pantalla errores
            System.err.println("No se pudo crear el archivo");
            System.out.println("No se pudo crear el archivo");
        }
    }

En el metodo leerTexto exactamente es donde sale la excepcion

 private void leerTexto(){
        String cadena;
         try{
            FileReader lector = new FileReader(archivo);
            BufferedReader lectura= new BufferedReader(lector);
            cadena = lectura.readLine();
             System.out.println(cadena);
         }catch (FileNotFoundException ex){
             System.err.println("Error, "+ex);
         }catch(IOException ex){
             System.err.println("Error,"+ex);
         }
        
    }

Por ultimo mi metodo escribirTexto el cual no salta ninguna excepcion cuando lo ejecuto pero no escribe nada.

private void escribirTexto(){
        try {
            FileWriter escribir = new FileWriter(archivo);
            //Escribimos el fichero
            escribir.write("Hola soy bruno");
            //Escribimos en otro linea diferente
            escribir.write("\r\nMas texto");
            //Despues de escbribir todo lo que queramos
            
        } catch (IOException ex) {
            System.err.println("No se puedo escribir sobre el archivo");
        }
        
    }
yellowman
  • 1
  • 1
  • 1
    *Pero no creo que se eso la verdad y no se que puede ser lo que tengo mal en mi código* -> Por desgracia, tus creencias no tienen efecto alguno sobre el funcionamiento de la máquina virtual de java, y efectivamente si intentas usar una variable no inicializada te dará un NullPointerException (NPE). De hecho, esa es precisamente la única manera de obtener un NPE, usar una variable no inicializada. No hay lugar a dudas, estás usando una variable no inicializada (nula o `null`, de ahí el nombre NullPointer Exception). Asegúrate de que todas tus variables se inician bien y no sales por algún catch – Benito-B May 24 '22 at 08:51

0 Answers0