Java JFileChooser并检查覆盖

Java JFileChooser并检查覆盖,java,swing,Java,Swing,我正在Java应用程序中使用JFileChooser,如果所选文件已经存在,我需要询问用户是否希望覆盖该文件 是否提供了我可以使用的功能?还是我自己滚?我使用的是Swing和JDK1.4,默认版本没有这个功能,您必须自己编写。或使用 可能重复的 private class CustomFileChooser extends JFileChooser { private String extension; public CustomFileChooser(String extension)

我正在Java应用程序中使用JFileChooser,如果所选文件已经存在,我需要询问用户是否希望覆盖该文件


是否提供了我可以使用的功能?还是我自己滚?我使用的是Swing和JDK1.4,默认版本没有这个功能,您必须自己编写。或使用

可能重复的
private class CustomFileChooser extends JFileChooser {
  private String extension;
  public CustomFileChooser(String extension) {
    super();
    this.extension = extension;
    addChoosableFileFilter(new FileNameExtensionFilter(
      String.format("%1$s Images (*.%1$s)", extension), extension));
  }

  @Override public File getSelectedFile() {
    File selectedFile = super.getSelectedFile();

    if (selectedFile != null) {
      String name = selectedFile.getName();
      if (!name.contains("."))
        selectedFile = new File(selectedFile.getParentFile(), 
          name + '.' + extension);
    }

    return selectedFile;
  }

  @Override public void approveSelection() {
    if (getDialogType() == SAVE_DIALOG) {
      File selectedFile = getSelectedFile();
      if ((selectedFile != null) && selectedFile.exists()) {
        int response = JOptionPane.showConfirmDialog(this,
          "The file " + selectedFile.getName() + 
          " already exists. Do you want to replace the existing file?",
          "Ovewrite file", JOptionPane.YES_NO_OPTION,
          JOptionPane.WARNING_MESSAGE);
        if (response != JOptionPane.YES_OPTION)
          return;
      }
    }

    super.approveSelection();
  }
}