Java Swing 使用JFileChooser保存带自定义后缀名的文件

来源:互联网 发布:如何开放服务器端口 编辑:程序博客网 时间:2024/04/29 09:51

下面我将介绍Java-swing中如何使用JFileChooser来保存文件

我们的最终成品如图:

一、原始版:

最简单的JFileChooser使用方式

public void saveFile() {//弹出文件选择框JFileChooser chooser = new JFileChooser();//下面的方法将阻塞,直到【用户按下保存按钮且“文件名”文本框不为空】或【用户按下取消按钮】int option = chooser.showSaveDialog(null);if(option==JFileChooser.APPROVE_OPTION){//假如用户选择了保存File file = chooser.getSelectedFile();try {FileOutputStream fos = new FileOutputStream(file);//写文件操作……fos.close();} catch (IOException e) {System.err.println("IO异常");e.printStackTrace();}}}

二、升级版:

在原始版的基础上增加了后缀名过滤器,并增加能给用户手动输入的文件名自动添加后缀的功能

public void saveFile() {//弹出文件选择框JFileChooser chooser = new JFileChooser();//后缀名过滤器FileNameExtensionFilter filter = new FileNameExtensionFilter(        "通讯录文件(*.con)", "con");chooser.setFileFilter(filter);//下面的方法将阻塞,直到【用户按下保存按钮且“文件名”文本框不为空】或【用户按下取消按钮】int option = chooser.showSaveDialog(null);if(option==JFileChooser.APPROVE_OPTION){//假如用户选择了保存File file = chooser.getSelectedFile();String fname = chooser.getName(file);//从文件名输入框中获取文件名//假如用户填写的文件名不带我们制定的后缀名,那么我们给它添上后缀if(fname.indexOf(".con")==-1){file=new File(chooser.getCurrentDirectory(),fname+".con");System.out.println("renamed");System.out.println(file.getName());}try {FileOutputStream fos = new FileOutputStream(file);//写文件操作……fos.close();} catch (IOException e) {System.err.println("IO异常");e.printStackTrace();}}}


1 0