我正在创建一个程序,用于创建具有不同扩展名的文件。为此,我使用JFileChooser
。我已将FileFilter
设置为仅接受我想要的扩展程序,但是当我选择一个扩展程序时,我仍然必须自己在文件名中添加扩展名。我怎么解决这个问题?非常感谢!
答案 0 :(得分:0)
您必须在用户关闭对话框后自行添加扩展程序。
此示例允许用户指定以“.foo”或“.bar”结尾的文件,如果用户没有这样做,则会添加该扩展名。
RewriteEngine on
# Set the CF-IPCountry header value as "Country" variable
SetEnvIf CF-IPCountry "(.*)$" Country=$1
# Than redirect it if the variable match. "GB" for <United Kingdom>
RewriteCond %{ENV:Country} GB
RewriteRule .* - [F]
答案 1 :(得分:0)
为此,您必须在用户按下JFileChooser的验证按钮之后,让用户选择文件过滤器,然后将文件过滤器描述与扩展列表进行比较,然后使用代码中的指定扩展名初始化文件对象(如果存在)一场比赛。我不知道你是否会理解我。
Modelexcel model = new Modelexcel();
JFileChooser selectFile = new JFileChooser();;
File file;
JButton btnExporterVersExcel = new JButton("Exporter vers Excel");
btnExporterVersExcel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(selectFile.showDialog(null, "Exporter")==JFileChooser.APPROVE_OPTION) {
String extension=selectFile.getFileFilter().getDescription();
if(extension.contains("(*.xlsx)")) {
file= new File(selectFile.getSelectedFile()+".xlsx");
}else if(extension.contains("(*.xls)")){
file= new File(selectFile.getSelectedFile()+".xls");
}
if(file.getName().endsWith("xls") ||
file.getName().endsWith("xlsx")) {
JOptionPane.showMessageDialog(null, model.Export(file, table));
}else {
JOptionPane.showMessageDialog(null, "Format invalid");
}
}
}
});
这是我的代码的一部分,以“ .xls”和“ .xlsx”格式保存文件。希望它能对您有所帮助