FileNotFoundException

Iniciado por m@o_614, 30 Julio 2014, 07:20 AM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

Saludos

Tengo el siguiente programa que usa RandomAccessFile para abrir un archivo, y que en caso de que no pueda hacerlo me lance una excepcion. El problema es que aun cuando el archivo se encuentra en la ruta que le indico con el String ruta, me sigue lanzando esa excepcion FileNotFoundException cuando no deberia

Código (java) [Seleccionar]
import java.util.Scanner;
import java.io.File;
import java.io.RandomAccessFile;
import java.io.FileNotFoundException;

public class AutomataFinito {

public static void main(String[] args) {
String nombreArchivo,nombre,ruta = "C:/Usuarios/MiNombre/workspace/Proyecto/";
Scanner teclado = new Scanner(System.in);
System.out.print("Dame nombre del archivo: ");
nombre = teclado.nextLine();
nombreArchivo = ruta + nombre;
teclado.close();
try
{
File archivo = new File(nombreArchivo);
RandomAccessFile r = new RandomAccessFile(archivo,"r");

}
catch(FileNotFoundException fileNotFoundException)
{
System.out.println("No se pudo abrir archivo");
}
}

}


alguien me puede decir a qué se debe esto??

de antemano gracias

yesod

Prueba a ponerlo asi: String nombreArchivo = "ruta"; y lo otro en otro String.

A ver que tal, y comentas :D

MNicolas

¿Quieres un programa que abra un RandomAccessFile si existe en esa ruta y si no existe que salte la excepción?

m@o_614

si, quiero usar el RandomAccessFile porque después de abrir el archivo quiero moverme en distintas posiciones del fichero, cosa que no puedo hacer si usara el FileReader

Nasty35

Dentro del catch pon:
fileNotFoundException.getStackTrace(); y a ver el error detallado

jhonatanAsm

mm, podrías probar cambiando
/ por \\
/ por \
/ por //
seguro que uno de ellos funciona :)
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.

Nasty35