Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: drate en 16 de Julio 2023, 13:28

Título: Ficheros
Publicado por: drate en 16 de Julio 2023, 13:28
Buenas tardes.
Estoy haciendo un ejercicio de apertura y manejo de ficheros y no consigo que me abra el fichero en cuestión. Eclipse me da siempre la misma ruta de este aunque lo ponga en el directorio raíz.
Me podéis echar una mano? No puedo hacer el ejercicio con este fallo.
Muchas gracias, un saludo.
Título: Re: Ficheros
Publicado por: Kabuto en 17 de Julio 2023, 12:48
¿Estás seguro de que estás escribiendo la ruta correcta?


Para asegurarte mejor, podemos hacer "trampas" y usar un JFileChooser para seleccionar el fichero que quieres abrir.
Un JFileChooser es una ventana emergente que se usa en programas con interfaz gráfica para explorar los directorios de tu sistema y elegir un fichero.
Cuando eliges un archivo, el JFileChooser te retorna un objeto File con el que ya puedes trabajar.

No es lo ideal, pero también puede usarse en un programa para consola de texto.

Te dejo un programa sencillo de ejemplo, donde con un método abro el JFileChooser y retorno el File escogido.

Aplica ese método en tu programa y a ver si así consigues abrir el fichero deseado:

Código: [Seleccionar]
import java.io.File;
import javax.swing.JFileChooser;

public class SelectorFichero {

public static void main(String[] args) {

System.out.println("A continuacion se abrira una ventana para elegir fichero...");
File elegido = seleccionarFichero();
System.out.println("Ruta del fichero elegido:\n" + elegido.getAbsolutePath());

}

private static File seleccionarFichero() {
//Creamos FileChooser
JFileChooser selector = new JFileChooser();
//Abrimos ventana emergente y recogemos el valor del botón seleccionado por el usuario
int seleccion = selector.showOpenDialog(null);
//Si usuario ha pulsado botón "Aceptar"...
if (seleccion == JFileChooser.APPROVE_OPTION)
return selector.getSelectedFile(); //Retornamos el File seleccionado
//pero, si el usuario ha pulsado botón "Cancelar" o ha habido algún error
else {
System.out.println("Seleccion cancelada");//Informamos
return null; //Y retornamos valor null
}
}

}