Java 保存对话框不存在';不向文件添加扩展名
我有一个按钮,可以打开一个保存对话框窗口,其中设置了默认的扩展过滤器。当我保存一个文件时,它会在正确的文件夹中创建它,但它不会在末尾添加扩展名。如何根据过滤器将扩展名添加到文件末尾? 以下是我的“保存文件”按钮代码:Java 保存对话框不存在';不向文件添加扩展名,java,swing,jfilechooser,savefiledialog,Java,Swing,Jfilechooser,Savefiledialog,我有一个按钮,可以打开一个保存对话框窗口,其中设置了默认的扩展过滤器。当我保存一个文件时,它会在正确的文件夹中创建它,但它不会在末尾添加扩展名。如何根据过滤器将扩展名添加到文件末尾? 以下是我的“保存文件”按钮代码: btnNewButton = new JButton("Export File"); btnNewButton.addActionListener (new ActionListener() { public void actionPerforme
btnNewButton = new JButton("Export File");
btnNewButton.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JFileChooser finder = new JFileChooser();
finder.setFileFilter(new FileNameExtensionFilter("Board Files", "boa"));
int returnVal = finder.showSaveDialog(null);
if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
java.io.File file = finder.getSelectedFile();
String file_name = file.toString();
JOptionPane.showMessageDialog(null, file_name);
WriteFile data = new WriteFile(file_name);
try {
data.writeToFile("Testing 1");
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
});
如果用户尚未添加扩展,则可以自己添加扩展
String file_name = file.toString();
if (!file_name.endsWith(".boa"))
file_name += ".boa";
过滤器仅用于过滤选定文件夹中的现有文件。 由于过滤器中可能有多个扩展,因此只有您可以决定添加哪个扩展
添加本身可以像上面的答案那样完成。对于将来的任何人,这里有一个很棒的教程: