Lectura archivo de texto

Mi consulta se basa en como leer un archivo de texto.

Resulta que en mi escritorio tengo un archivo llamado datos.txt realizado en un bloc de notas y el siguiente código desde netbeans:

package file;
import java.io.*;

public class Main {
public static void main(String[] args) throws IOException{

File f = new File ("datos.txt");
if(f.exists())
{
FileReader fr = new FileReader("datos.txt");
BufferedReader bf = new BufferedReader(fr);
String cad;
while ((cad = bf.readLine()) != null)
{
System.out.println(cad);
}
}
else
{
System.out.println("El archivo no existe");
}
}
}

Siendo que el archivo existe me da por pantalla:

Compile:
Run:
El archivo no existe
BUILD SUCCESSFUL (total time: 0 seconds)

1 Respuesta

Respuesta
1

Aquí hay varias cosas por revisar.

Antes que nada, cuando creas el objeto BufferedReader deberías hacerlo dentro de un bloque try catch (precisamente porque si el archivo no existe o no tienes permiso de lectura, se generaría una excepción no controlada).

Además de ello, debes indicarle a tu programa la dirección completa de tu archivo, dices que está en el escritorio, entonces:

package file;

import java.io.*;

public class Main {

          public static void main(String[] args) {

                     try {

                           FileReader fr = new FileReader("C:\\Documents and settings\\nombre_De_usuario\\Escritorio\\datos.txt");

                          //Debes reemplazar nombre_de_usuario por tu nombre de usuario

                          BufferedReader bf = new BufferedReader(fr);

                         String cad;

                         while ((cad = bf.readLine()) != null){

                                    System.out.println(cad);

                          }

                     } catch (Exception ex) {

                         System.out.println("Se generó una excepción.");                    

                         ex.printStackTrace(System.err);

                    }

           }

}

A ver si así funciona.

Atentamente. Manusoftar.-

Para ser más claro:

package file;
import java.io.*;
public class Main {
       public static void main(String[] args) {
              try {
                   FileReader fr = new FileReader("C:\\Documents and settings\\nombre_De_usuario\\Escritorio\\datos.txt");
                   //Debes reemplazar nombre_de_usuario por tu nombre de usuario
                   BufferedReader bf = new BufferedReader(fr);
                   String cad;
                   while ((cad = bf.readLine()) != null){
                           System.out.println(cad);
                   }
              } catch (Exception ex) {
                System.out.println("Se generó una excepción."); 
                ex.printStackTrace(System.err);
              }
       }
}

Muchas gracias por tu ayuda, te cuento que mi código funcionando quedo de la siguiente manera:

package file;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
File f = new File("C:\\Documents and Settings\\Administrador.COLOSO\\Escritorio\\datos.txt.txt");


if(f.exists())
{
FileReader fr = new FileReader(f);
BufferedReader bf = new BufferedReader(fr);
String cad;
while ((cad = bf.readLine()) != null)
{
System.out.println(cad);
}
}
else
{
System.out.println("El archivo no existe");
}
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas