Seleccionar un archivo
Resuelto
Vitaldix
Mensajes publicados
116
Fecha de registro
Estado
Miembro
Última intervención
-
Vitaldix Mensajes publicados 116 Fecha de registro Estado Miembro Última intervención -
Vitaldix Mensajes publicados 116 Fecha de registro Estado Miembro Última intervención -
Hola!
¡Así que tengo un pequeño problema! Me gustaría que mi programa pidiera al usuario que elija un archivo, el usuario puede elegir el archivo que desee, y el programa recupera lo que hay en ese archivo.
Tengo esto:
que funciona de maravilla, pero claro, solo funciona para el archivo colocado en esa ubicación.
También encontré esto:
Aquí puedo navegar por mis directorios, puedo seleccionar el archivo que quiero, pero no pasa nada. ¡Tengo la impresión de que no puedo recuperar mi archivo!
He intentado jugar con algunas cosas, hacer una mezcla entre estos dos fragmentos de código, pero nada va, ¿pueden ayudarme?
¡Gracias!
¡Así que tengo un pequeño problema! Me gustaría que mi programa pidiera al usuario que elija un archivo, el usuario puede elegir el archivo que desee, y el programa recupera lo que hay en ese archivo.
Tengo esto:
File file = new File("emplacement_fichier"); Scanner sc = new Scanner(file); que funciona de maravilla, pero claro, solo funciona para el archivo colocado en esa ubicación.
También encontré esto:
FileSystemView vueSysteme = FileSystemView.getFileSystemView(); //recuperación de los directorios File defaut = vueSysteme.getDefaultDirectory(); File home = vueSysteme.getHomeDirectory(); //creación y visualización de JFileChooser JFileChooser defautChooser = new JFileChooser(defaut); defautChooser.showOpenDialog(null); JFileChooser homeChooser = new JFileChooser(home); homeChooser.showOpenDialog(null);
Aquí puedo navegar por mis directorios, puedo seleccionar el archivo que quiero, pero no pasa nada. ¡Tengo la impresión de que no puedo recuperar mi archivo!
He intentado jugar con algunas cosas, hacer una mezcla entre estos dos fragmentos de código, pero nada va, ¿pueden ayudarme?
¡Gracias!
1 respuesta
-
Los JFileChooser solo permiten seleccionar un (o varios) archivos (y/o directorios) para lectura (o escritura), pero una vez elegidos los archivos, eres tú quien debe hacer el tratamiento.
Ver: Cómo usar los selectores de archivos
JFileChooser chooser = new JFileChooser(); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); if (chooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) { File[] files = chooser.getSelectedFiles(); ... }
--
La confianza no excluye el control-
-
-
-
Hay un atajo con el método getSelectedFile que devuelve un solo archivo, pero debes asegurarte de que solo se pueda elegir uno, porque si eliges varios pero solo se guarda uno, habrá un problema...
chooser.setMultiSelectionEnabled(false); if (chooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); Scanner sc = new Scanner(file); ... sc.close(); } -
Gracias, ¡funciona!
Sin embargo, tengo un problema con la ejecución del programa, ahora tengoExcepción al eliminar la referencia: java.lang.InterruptedException java.lang.InterruptedException en java.lang.Object.wait(Método nativo) en java.lang.ref.ReferenceQueue.remove(Fuente desconocida) en java.lang.ref.ReferenceQueue.remove(Fuente desconocida) en sun.java2d.Disposer.run(Fuente desconocida) en java.lang.Thread.run(Fuente desconocida)
¿Sabes de dónde viene esto?
-