JFileChooser打开多个txt文件
2022-09-02 05:13:51
						我如何使用JFileChooser打开两个文本文件,并在我选择这些文件后,我想比较它们,在屏幕上显示等。这可能吗?
我如何使用JFileChooser打开两个文本文件,并在我选择这些文件后,我想比较它们,在屏幕上显示等。这可能吗?
您可以选择多个文件并返回 File 对象数组,而不是一个JFileChooser
JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(true);
chooser.showOpenDialog(frame);
File[] files = chooser.getSelectedFiles();
该方法仅在您单击确定按钮后返回showOpenDialog(frame)
编辑
所以这样做:
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]));
}
并将您的更改为:readFileAsList
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();
    }
}
						您可以使用:
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();
然后,您可以使用返回的文件句柄进行比较。