获取用户使用JFileChooser选择的文件数

时间:2011-07-28 11:59:13

标签: java file

在我的程序中,我使用的是JFileChooser。用户可以使用JFileChooser选择多个文件。如果用户仅选择一个文件,则仅返回文件对象,并且可以使用fileChooser.getSelectedFile()检索。如果用户选择了多个文件,则会返回文件[] ,并且可以使用fileChooser.getSelectedFiles()检索。

目前我正在使用try / catch块来获取使用所述方法返回的任何类型。我觉得这样做是不好的方式。

有没有办法检查将返回什么类型的对象(例如我是否应该接收数组)?我似乎无法在API中找到这样做的方法。

2 个答案:

答案 0 :(得分:4)

如果您允许用户选择多个文件,则应调用get.SelectedFiles()并接收数组作为答案。

因为它是一个数组,你可以看到组件的数量,看看有多少文件被选中(一个,两个......),并且它们通过它进行交互以做你想做的任何事情。

如果您发现它只收到一个文件,请按照您的意愿行事。

答案 1 :(得分:1)

如果您想确保只能选择某些类型的文件,则应设置文件过滤器

    JFileChooser fc = new JFileChooser();
    fc.setFileFilter(new FileFilter()
    {
      public boolean accept(File file)
      {
        return file.isDirectory() ||
               file.getName().endsWith(".abc");
      }
      public String getDescription()
      {
        return "Your files *.abc files";
      }
    });