Java文件选择JFileChooser使用例子

2015/02/11 16:24
阅读数 4.2K
JFileChooser类的使用非常简单,主要是对一些属性的设置,以及文件筛选器的使用。

[java]

  1. import javax.swing.JFileChooser;  

  2.   

  3. public class FileChooser {  

  4.     public static void main(String[] args)  

  5.     {  

  6.         JFileChooser fc = new JFileChooser("D:");  

  7.         //是否可多选   

  8.         fc.setMultiSelectionEnabled(false);  

  9.         //选择模式,可选择文件和文件夹   

  10.         fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);  

  11. //      fc.setFileSelectionMode(JFileChooser.FILES_ONLY);   

  12. //      fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);   

  13.         //设置是否显示隐藏文件   

  14.         fc.setFileHidingEnabled(true);  

  15.         fc.setAcceptAllFileFilterUsed(false);  

  16.         //设置文件筛选器   

  17.         fc.setFileFilter(new MyFilter("java"));  

  18.         fc.setFileFilter(new MyFilter("zip"));  

  19.           

  20.         int returnValue = fc.showOpenDialog(null);  

  21.         if (returnValue == JFileChooser.APPROVE_OPTION)  

  22.         {  

  23.             //fc.getSelectedFile()   

  24.             //fc.getSelectedFiles()   

  25.         }  

  26.     }  

  27. }  

[java]

  1. import java.io.File;  

  2. import javax.swing.filechooser.FileFilter;  

  3.   

  4. public class MyFilter extends FileFilter  

  5. {  

  6.       

  7.     private String ext;  

  8.       

  9.     public MyFilter(String extString)  

  10.     {  

  11.         this.ext = extString;  

  12.     }  

  13.     public boolean accept(File f) {  

  14.         if (f.isDirectory()) {  

  15.             return true;  

  16.         }  

  17.   

  18.         String extension = getExtension(f);  

  19.         if (extension.toLowerCase().equals(this.ext.toLowerCase()))  

  20.         {  

  21.             return true;  

  22.         }  

  23.         return false;  

  24.     }  

  25.   

  26.   

  27.     public String getDescription() {  

  28.         return this.ext.toUpperCase();  

  29.     }  

  30.   

  31.     private String getExtension(File f) {  

  32.         String name = f.getName();  

  33.         int index = name.lastIndexOf('.');  

  34.   

  35.         if (index == -1)  

  36.         {  

  37.             return "";  

  38.         }  

  39.         else  

  40.         {  

  41.             return name.substring(index + 1).toLowerCase();  

  42.         }  

  43.     }  

  44. }  

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部