TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
列举文件或者文件夹
import java.io.File;
import java.io.FileFilter;
/**
* 如何列出某个目录下的所有文件/目录
*
* @author leizhimin 2010-3-22 20:58:37
*/
public
class FileTest {
public
static
final
byte TYPE_ALL = 0;
//所有的文件和文件夹
public
static
final
byte TYPE_FILE = 1;
//文件
public
static
final
byte TYPE_DIR = 2;
//文件夹
public
static
void main(String args[]) {
File[] flist = listFile("C:\", FileTest.TYPE_FILE);
for (File file : flist) {
System.out.println(file.getPath());
}
}
/**
* 列举文件或者目录
*
* @param path 操作目录
* @param type 列举的类型
* @return 所列举的文件或文件夹列表
*/
public
static File[] listFile(String path,
byte type) {
File[] result =
null;
File f =
new File(path);
switch (type) {
case TYPE_ALL:
result = f.listFiles();
break;
case TYPE_FILE:
result = f.listFiles(
new MyFileFilter(
true));
break;
case TYPE_DIR:
result = f.listFiles(
new MyFileFilter(
false));
break;
default:
result = f.listFiles();
}
return result;
}
}
/**
* 文件过滤器
*/
class MyFileFilter
implements FileFilter {
//过滤所要保留的类型是否是文件
private
boolean isFile =
true;
MyFileFilter(
boolean isFile) {
this.isFile = isFile;
}
public
boolean accept(File pathname) {
if (isFile) {
if (pathname.isFile())
return
true;
return
false;
}
else {
if (pathname.isDirectory())
return
true;
return
false;
}
}
}
输出结果:
C:ootfont.bin
C:
tldr
C:NTDETECT.COM
C:CONFIG.SYS
C:AUTOEXEC.BAT
C:IO.SYS
C:MSDOS.SYS
C:GHLDR
C:oot.ini
C:锦衣卫TC国语中字修正声音甄子丹赵薇2010最新动作大片.rmvb
C:The.Hurt.Locker.2008.拆弹部队.双语字幕.HR-HDTV.AC3.1024x544.x264-人人影视.mkv
C:Linux程序设计(第三版)_3of2.rar
C:Linux程序设计(第三版)_3of1.rar
C:Linux程序设计(第三版)_3of3.rar
C:Linux程序设计(第三版)_目录.rar
C:4.txt
Process finished with exit code 0
本文出自 “
熔 岩” 博客,请务必保留此出处
http://lavasoft.blog.51cto.com/62575/286787
源码下载:http://file.javaxxz.com/2014/10/28/235620531.zip |
|