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

file类里面的list()方法怎样去掉文件只留文件夹?
我只需要显示文件夹啊 求解
------最佳解决方案--------------------
试试这个
public class TestFileFilter {

/**
 * @param args
 */
public static void main(String[] args) {
String pathname = ".";
File file = new File(pathname);

FileFilter filter = new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isDirectory();
}
};

File[] listFiles = file.listFiles(filter);

for (File file2 : listFiles) {
System.out.println(file2.getName());
}
}

}

------其他解决方案--------------------

file.listFiles(new FileFilter(){
   public boolean accept(File file){
          return file.isDirectory();
   }
})

------其他解决方案--------------------
import java.io.File;

public class Filedir {

public static void main(String[] args) {

File dirFile = new File("D:\\detail");
File file = null;

for (String fileStr : dirFile.list()) {
file = new File("D:\\detail\\" + fileStr);
if (file.isDirectory()) {
System.out.println(fileStr);
}
}
}
}
------其他解决方案--------------------

import java.io.File;
import java.io.FileFilter;

public class OnlyFolder {

/**
 * @param args
 */
public static void main(String[] args) {
File file = new File("D:" + File.separator + "appserver");
File[] files = file.listFiles(new UserFilter());
for(File f : files) {
System.out.println("是否是文件夹:" + f.isDirectory() + "名称:" + f.getName());
}
}

}
class UserFilter implements FileFilter {
@Override
public boolean accept(File file) {
if(file != null && file.isDirectory()) 
return true;
else
return false;
}
}

------其他解决方案--------------------
有个文件过滤器的FileFilter
------其他解决方案--------------------
非常感谢楼上几位朋友 已结贴给分