JFileChooser如何保存特定的文件类型

    关于这个问题,我一开始觉得很简单,结果上搜索引擎一搜,看到很多写得长篇大论,一下子觉得这是个很复杂的东西,再认真想想sun公司会这么不聪明么?这么常用都没想到?当然不是,后来我翻了下API,找到了Swing包下的FileFilter这么一个抽象类,30多行代码全部搞定,先看下弄后之后的效果图

 

 

    从图可以看到,我所选择保存类型为.items类型的文件,如果当前文件夹以存在相同类型的,再显示。

    直接贴源码了,在贴之前和与我同样是新手的说下关于抽象类,抽象类简单归纳就是不能new的,必u须继承,和接口相比,抽象类能有自己的方法(可以是抽象也可以不是),可以有自己的构造函数..差不多了,贴代码。

 

 

    这是我继承自FileFilter的子类,构造函数接受两个参数,一个是数组类型的,用于记录需要用于过滤的后缀名类型,如.jgp之类的,另外一个是String类型的,用于描述,有这两个就能限制保存类型了,下面看看上面我收起来的 accept方法的代码。

 

 

    在这个方法里我首先做的是将字符串中的每个字符保存到一个char数组中,这样做是为了能够遍历每一个字符,因为我们知道后缀名是以.字符开始的,有一种情况,有些文件没有后缀名,那我们以.字符作为index时候就会报String....的一个异常,原因就是没找到.上面方法就可以帮我们正确进行过滤了。

    在初始化JFileChooser时候,这个类有一个方法setFileFilter(FileFilter f);这样就好了,其实代码量很少。


你可能感兴趣的:(JFileChooser如何保存特定的文件类型)