import java.io.*;
import java.util.*;
public class MyHelp
{
  public String in="";
  public MyHelp(String path)
  {
    in=path;
  }
  public ArrayList getFile(String head)
  {
    ArrayList a=new ArrayList();
     try
     {
       File sdir=new File(in);
       String [] m_dir=sdir.list();
       for(int i=0;i<m_dir.length;i++)
       {
         File f=new File(in+"/"+m_dir[i]);
         if(f.isFile()) //是文件的话,判断是不是以P开头
         {
           String str=m_dir[i].substring(0,head.length());
           if(str.equals(head))  //是以P开头的话
           {
            a.add(m_dir[i]);
            //System.out.println(m_dir[i]);
           }
         }
       }
     }
     catch(Exception ex)
     {
        System.out.println(ex);
     }
     return a; 
  }
  
  public static void main(String [] args)
  {
   MyHelp m=new MyHelp("c:\\");
   ArrayList a=m.getFile("P");//列出一个目录下的以P开始的所有文件的文件名
    for(int i=0;i<a.size();i++)
      System.out.println((String)a.get(i));
  }
}

解决方案 »

  1.   

    package test;import java.io.*;
    import java.util.*;public class DirList {
        public static void main(String[] args) {
            File path = new File(".");
            String[] list;
            list = path.list(new DirFilter("p"));
            for (int i = 0; i < list.length; i++)
                System.out.println(list[i]);
        }
    }class DirFilter implements FilenameFilter {
        String matcher;
        
        public DirFilter(String matcher){
            this.matcher = (matcher == null) ? "" : matcher.toLowerCase();
        }
        public boolean accept(File dir, String name) {
            String f = new File(name).getName().toLowerCase();        
            return f.startsWith(this.matcher) ;
        }
    }