seleccionar ruta obtener guardar carpeta archivos archivo java swing jfilechooser

ruta - jfilechooser java seleccionar carpeta



JFileChooser para abrir mĂșltiples archivos txt (3)

En mi caso, lo resolví declarando el marco como una variable local inicializada establecida en nulo:

JFileChooser chooser = new JFileChooser(); chooser.setMultiSelectionEnabled(true); Component frame = null; chooser.showOpenDialog(frame); File[] files = chooser.getSelectedFiles();

¿Cómo puedo usar JFileChooser para abrir dos archivos de texto y después de seleccionar estos archivos, quiero compararlos, mostrarlos en la pantalla, etc.? ¿Es esto posible?


Puedes usar:

JFileChooser chooser = new JFileChooser(); chooser.setMultiSelectionEnabled(true); // Show the dialog; wait until dialog is closed chooser.showOpenDialog(frame); // Retrieve the selected files. File[] files = chooser.getSelectedFiles();

A continuación, puede utilizar los controladores de archivo devueltos para realizar la comparación.


Puede hacer que su JFileChooser seleccione varios archivos y devuelva una matriz de objetos File en lugar de uno

JFileChooser chooser = new JFileChooser(); chooser.setMultiSelectionEnabled(true); chooser.showOpenDialog(frame); File[] files = chooser.getSelectedFiles();

El método showOpenDialog(frame) solo regresa una vez que hace clic en el botón Aceptar

EDITAR

Así que haz esto:

JFileChooser chooser = new JFileChooser(); chooser.setMultiSelectionEnabled(true); chooser.showOpenDialog(frame); File[] files = chooser.getSelectedFiles(); if(files.length >= 2) { compare(readFileAsList(files[0]), readFileAsList(files[1])); }

Y cambia tu readFileAsList a:

private static List<String> readFileAsList(File file) throws IOException { final List<String> ret = new ArrayList<String>(); final BufferedReader br = new BufferedReader(new FileReader(file)); try { String strLine; while ((strLine = br.readLine()) != null) { ret.add(strLine); } return ret; } finally { br.close(); } }