Java — JFileChooser和File文件操作的的知识补充
《》这个JFileChooser类非常的简单下面仅仅是做一些补充和说明,更加详尽的介绍见《疯狂Java讲义》的相关部分,
JFileChooser类是用来创建一个文件选择窗口的类;FileFilter类是用来进行文件过滤的类;
在JFileChooser类中有下面的关键方法:
①public void addChooseableFileFilter(FileFilter) ; //这个方法允许向JFileChooser对象中添加多个文件过滤器
②public int showXxxDialog();//该方法用来显示文件选择对话框,返回用户的操作结果(“选择”,“取消”,可见《疯狂Java讲义》),
需要说明的是这个方法,好像是一个“阻塞方法”,只要调用它,那么程序就会打开一个文件选择对话框
之后这个方法就会“等待”,等待着用户完成对话框操作,之后这个方法会将用户的操作情况返回
③public FileFilter [] getChooseableFileFilters() ; //这个方法会返回当前JFileChooser对象添加的所有的FileFilter过滤器对象,
这个方法非常的有用,为什么这么说呢? 我们可能需要在其他的地方做这样的事情:
判定一个指定的文件是否是这些FileFilter所接受的文件类型(或者说是否是这个文件选择窗口锁接受的文件类型),
那么,这个方法显然非常的有用,因为我们得到这些FileFilter之后,
通过使用类成员方法public boolean accept(File f) ;就能够判别了
④public File getSelectedFile(); //返回当前选中的文件
public File[] getSelectedFiles();//返回当前选中的多个文件
⑤public File getCurrentDirectory() ;//返回当前选中的文件所在的文件夹 ,
这个方法也非常的有用,为什么这么说呢?有没有想过这样的一个问题:比如我们创建了一个照片查看器程序
这个查看器有“上一张”“下一张”功能,但是我们通过JFIleChooser每次仅仅能够选中一张,那么怎样才能够
实现“上一张”“下一张”的功能呢?这个方法就派上用场了,一旦我们通过这个方法获得了当前的照片文件所处的文件夹
那么File成员方方法中有这么一个方法:
public File[] listFiles() ;
当File对象是一个文件夹的时候(即一个文件路径),这个方法就会返回这个路径下的所有的文件和文件路径
那么我们就能够将当前文件夹中的所有的文件和文件路径存储下来,再通过上面的介绍的accept(File)方法
来检查缓存的各个文件是否是可被接受的图片文件,就能够挑出所有符合条件的文件,一旦将这些文件存储起来
那么实现“上一张”“下一张”的功能,就非常的简单了
《》下面再补充一点有关文件File类的知识:

浙公网安备 33010602011771号