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

[SOLUCIONADO] Problema con ficheros

Estas en el tema de Problema con ficheros en el foro de Java en Foros del Web. Hola buenas, necesito un poco de ayuda, pues no sé donde esta el error. Tengo una clase "TestFicheros " con un metodo "obtenerLineasArchivo(String nombreArchivo)" que ...
  #1 (permalink)  
Antiguo 23/05/2015, 08:19
Avatar de nessy_ftv  
Fecha de Ingreso: mayo-2015
Ubicación: Madrid
Mensajes: 7
Antigüedad: 8 años, 11 meses
Puntos: 0
Problema con ficheros

Hola buenas, necesito un poco de ayuda, pues no sé donde esta el error.

Tengo una clase "TestFicheros " con un metodo "obtenerLineasArchivo(String nombreArchivo)" que recibe como parámetros el nombre de un archivo y devuelve todas sus líneas en un array de cadenas.

Cuando ejecuto mi clase "PruebaTestFicheros" me salta la excepcion "java.io.FileNotFoundException: C:\usuarios.txt (El sistema no puede hallar el archivo especificado)". Mi archivo existe en C:/ y tiene texto dentro. No entiendo porque me esta saltandando la Excepcion. Alguien sabe porque me esta pasando eso?

Espero puedan ayudarme a resolver el problema.

Un saludo.

Código Java:
Ver original
  1. package Ficheros;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6.  
  7. public class TestFicheros {
  8.     public String[] obtenerLineasArchivo(String nombreArchivo){
  9.         String[] arrayCadenas = new String[5];
  10.         FileReader leer;
  11.         BufferedReader filtro;
  12.         String linea;
  13.         int contador = 0;
  14.         try {
  15.             leer = new FileReader(nombreArchivo);
  16.             filtro = new BufferedReader(leer);
  17.             linea = filtro.readLine();
  18.             while(linea != null){
  19.                 arrayCadenas[contador] = linea;
  20.                 linea = filtro.readLine();
  21.                 contador++;
  22.             }
  23.             filtro.close();
  24.         } catch (IOException e) {
  25.             e.printStackTrace();
  26.         }
  27.         return arrayCadenas;
  28.     }
  29. }

Código Java:
Ver original
  1. package Ficheros;
  2.  
  3. public class PruebaTestFicheros {
  4.  
  5.     public static void main(String[] args) {
  6.         TestFicheros t1 = new TestFicheros();
  7.         String[] arrayLineas;
  8.         arrayLineas = t1.obtenerLineasArchivo("C:/usuarios.txt");
  9.         for(int i = 0; i < arrayLineas.length; i++){
  10.             System.out.println(arrayLineas[i]);
  11.         }
  12.     }
  13. }

Consola de Java

Código Java:
Ver original
  1. java.io.FileNotFoundException: C:\usuarios.txt (El sistema no puede hallar el archivo especificado)
  2.     at java.io.FileInputStream.open(Native Method)
  3.     at java.io.FileInputStream.<init>(Unknown Source)
  4.     at java.io.FileInputStream.<init>(Unknown Source)
  5.     at java.io.FileReader.<init>(Unknown Source)
  6.     at Ficheros.TestFicheros.obtenerLineasArchivo(TestFicheros.java:16)
  7.     at Ficheros.PruebaTestFicheros.main(PruebaTestFicheros.java:8)
  8. null
  9. null
  10. null
  11. null
  12. null
  #2 (permalink)  
Antiguo 23/05/2015, 10:30
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema con ficheros

Comprueba que no te has olvidado alguna mayúscula.

Si te hubiera salido el Access is denied sería por el UAC, por si acaso prueba a leer el fichero dentro de tu carpeta de usuario en vez de en c:
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 23/05/2015, 10:59
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema con ficheros

Buenas,

Es super extraño lo que comentas.

Yo acabo de crear un fichero en C: con el mismo nombre y me he hecho un SSCCE que funciona a la perfección.

Código Java:
Ver original
  1. public class FileReaderTest {
  2.     public static void main(String[] args) {
  3.         try (BufferedReader br = new BufferedReader(new FileReader(
  4.                 "C:\\usuarios.txt"))) {
  5.             String sCurrentLine;
  6.             while ((sCurrentLine = br.readLine()) != null) {
  7.                 System.out.println(sCurrentLine);
  8.             }
  9.         } catch (IOException e) {
  10.             e.printStackTrace();
  11.         }
  12.     }
  13. }

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 23/05/2015, 12:56
Avatar de nessy_ftv  
Fecha de Ingreso: mayo-2015
Ubicación: Madrid
Mensajes: 7
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Problema con ficheros

Gracias por tu respuesta.

He probado lo que me has dicho y nada ha funcionado.
  #5 (permalink)  
Antiguo 23/05/2015, 13:00
Avatar de nessy_ftv  
Fecha de Ingreso: mayo-2015
Ubicación: Madrid
Mensajes: 7
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Problema con ficheros

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Es super extraño lo que comentas.

Yo acabo de crear un fichero en C: con el mismo nombre y me he hecho un SSCCE que funciona a la perfección.

Código Java:
Ver original
  1. public class FileReaderTest {
  2.     public static void main(String[] args) {
  3.         try (BufferedReader br = new BufferedReader(new FileReader(
  4.                 "C:\\usuarios.txt"))) {
  5.             String sCurrentLine;
  6.             while ((sCurrentLine = br.readLine()) != null) {
  7.                 System.out.println(sCurrentLine);
  8.             }
  9.         } catch (IOException e) {
  10.             e.printStackTrace();
  11.         }
  12.     }
  13. }

Un saludo
Gracias por el ejemplo que me has puesto. Tu codigo es diferente al que yo tengo. Yo tengo dos clases. Una donde creo el metodo que quiero utilizar cuando hago la prueba de dicha clase. Tu en tu caso creas la clase y directamente le metes el main. No se si tendrá algo que ver eso.

Tienes idea de si lo puedo hacer asi? Basicamente lo que quiero es una clase TestFicheros con un metodo que al pasarle el nombre del archivo me devuelva el las lineas en un array de cadenas.

Para mi parecer el codigo esta bien, pero no entiendo porque me salta la Exception.

Gracias otra vez.

Un saludo
  #6 (permalink)  
Antiguo 24/05/2015, 01:22
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema con ficheros

Cita:
Tu codigo es diferente al que yo tengo.
Eso son detalles. Lo que he hecho es poner un ejemplo completo y compilable que trata tu problema, ya que el resto sobra.
¿Lo has probado para ver si mi código te funciona?

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #7 (permalink)  
Antiguo 24/05/2015, 09:03
Avatar de nessy_ftv  
Fecha de Ingreso: mayo-2015
Ubicación: Madrid
Mensajes: 7
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Problema con ficheros

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Eso son detalles. Lo que he hecho es poner un ejemplo completo y compilable que trata tu problema, ya que el resto sobra.
¿Lo has probado para ver si mi código te funciona?

Un saludo

Si si lo he probado y me funciona. El resto de mi codigo no sobra, porque de eso se trata el problema. De crear un metodo que devuelva las lineas del fichero en un array de cadenas. Finalmente lo he conseguido solucionar.

El error estaba en la ruta del fichero. Mi windows tiene las extensiones no visibles y mi fchero se llamaba usuarios.txt, pero realmente se llamaba usuarios.txt.txt porque las extensiones estan oultas.

Muchas gracias por ejemplo.

Saludos.
  #8 (permalink)  
Antiguo 25/05/2015, 10:28
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema con ficheros

Cita:
El resto de mi codigo no sobra, porque de eso se trata el problema
No me has entendido, pero da igual. Lo importante es que ya te funciona.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: ficheros
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 06:06.