我用的是JFileChooser
JFileChooser fileChooser = new JFileChooser();
String str[] = { "dat", "data", "doc", "txt" };
for (int i = 0; i < str.length; i++)
fileChooser.addChoosableFileFilter(new FileNameExtensionFilter(
str[i], str[i]));麻烦最好给段例子!!

解决方案 »

  1.   


    import java.io.File;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.filechooser.FileFilter;public class enCode {
    public static void main(String[] args) {
            JFileChooser fileChooser = new JFileChooser();
            fileChooser.addChoosableFileFilter(new JavaFileFilter());
            fileChooser.addChoosableFileFilter(new TxtFileFilter());
            String selectfilename = null;
            int returnVal = fileChooser.showOpenDialog(new JFrame());
            if(returnVal == JFileChooser.APPROVE_OPTION) {
               String dir = fileChooser.getSelectedFile().getParent();
               if( fileChooser.getFileFilter() instanceof JavaFileFilter ){
                selectfilename = fileChooser.getSelectedFile().getName()+".java";
               }else if( fileChooser.getFileFilter() instanceof TxtFileFilter ){
                selectfilename = fileChooser.getSelectedFile().getName()+".txt";
               }
               System.out.println(dir+File.separator+selectfilename);
            }
    }
    }class JavaFileFilter extends FileFilter {
        public String getDescription() {
            return "java源文件(*.java)";
        }
        public boolean accept(File file) {
            return file.getName().toLowerCase().endsWith(".java");
        }
    }class TxtFileFilter extends FileFilter {
        public String getDescription() {
            return "文本文档(*.txt)";
        }
        public boolean accept(File file) {
            return file.getName().toLowerCase().endsWith(".txt");
        }}