日期:2014-05-20  浏览次数:20687 次

求取一个目录下的所有文件名(不含后缀的)
如题,之前看到有人问这个问题,回答的人的解释import   java.io.*;

public   class   testFile   {

        public   static   void   main(String[]   arg)   {
                File   dir   =   new   File( "D:\\a\\ ");
                             
                FilenameFilter   filter   =   new   FilenameFilter()   {
                        public   boolean   accept(File   dir,   String   name)   {
                                String   s   =   name.substring(0,   name.lastIndexOf( ". "));
                      System.out.print(s+ "++     "     );   ****这里的s已经是我想要的内容
                              return   s.equals( "MyClass ");
                        }
                };
                String[]   children   =   dir.list(filter);****到这里就过不去了。
         
                        for   (int   i   =   0;   i   <   children.length;   i++)   {
                                //       Get       filename       of       file       or       directory
                                String   filename   =   children[i];
                              System.out.print(filename+ "++     "     );得到的是全名(带后缀的)
                     
                }

          }

}

------解决方案--------------------
领分来了
------解决方案--------------------
我写了这个,测过好像可以.
File fdir = new File( "d:\\ ");
//フォルダにあるファイルのみ処理の対象になる
File[] fList = fdir.listFiles(new FileFilter() {
public boolean accept(File arg0) {
if (arg0.isFile()) {
//String s = " ";
if (arg0.getPath().lastIndexOf( ". ") <= 0) {
//s = arg0.getPath().substring(0);
return true;
} else {
//s = arg0.getPath().substring(0, arg0.getPath().lastIndexOf( ". "));
return false;
}
}
return false;
}
});


for (int i = 0; i < fList.length; i++) {
System.out.println(fList[i].getName());
System.out.println(fList[i].getPath());