package filenameFilter
import java io File
/* * 实现功能 *
获取指定路径下的指定格式的文件
* */
public class Test {
public static void listPath(File file) {
// 接收筛选过后的文件对象数组
//用文件对象调用listFiles(FilenameFilter filter) 方法
//返回抽象路径名数组 这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File files[] = file listFiles(new MyFilenameFilter())
/*//遍历出指定文件路径下符合条件的文件
for (File f : files) {
System out println(f)
}*/
//遍历出指定文件路径下的所有符合筛选条件的文件
for(File f: files){
if(f isDirectory()){
listPath(f)
}else{
System out println(f)
}
}
}
public static void main(String[] args) {
// 创建指定目录的文件对象
File file = new File( F:\\test )
// 调用文件晒筛选的方法 并将文件对象出入
listPath(file)
} }
package filenameFilter
import java io File
import java io FilenameFilter
//实现FilenameFilter接口 可用于过滤器文件名 //本方法实现的是筛选指定格式结尾的文件 public class MyFilenameFilter implements FilenameFilter {
/**
* @param args
*
*
实现功能 实现FilenameFilter接口 定义出指定的文件筛选器
*
*/
@Override
//重写accept方法 测试指定文件是否应该包含在某一文件列表中
public boolean accept(File dir String name) {
// TODO Auto generated method stub
// 创建返回值
boolean flag = true
// 定义筛选条件
//endWith(String str) 判断是否是以指定格式结尾的
if (name toLowerCase() endsWith( jpg )) {
} else if (name toLowerCase() endsWith( txt )) {
} else if (name toLowerCase() endsWith( gif )) {
} else {
flag = false
}
// 返回定义的返回值
//当返回true时 表示传入的文件满足条件
return flag
}
lishixinzhi/Article/program/Java/hx/201311/26918File 类是对文件和文件夹的抽象,包含了对文件和文件夹的多种属性和操作方法。File类的常用方法如下表:
返回
方法
说明
StringgetName获取文件名称
StringgetParent获取文件的父路径字符串
StringgetPath获取文件的相对路径字符串
StringgetAbsolutePath获取文件的绝对路径字符串
booleanexists判断文件或者文件夹是否存在
booleanisFile判断是不是文件类型
booleanisDirectory判断是不是文件夹类型
booleandelete删除文件或文件夹,如果删除成功返回结果为true
booleanmkdir创建文件夹,创建成功返回true
booleansetReadOnly设置文件或文件夹的只读属性
longlength获取文件的长度
longlastModified获取文件的最后修改时间
String[ ]list获取文件夹中的文件和子文件夹的名称,并存放到字符串数组中
不知道你说的反向输出啥意思,要是读取的话就是下面的内容可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null
try {
String file = "D:/test/test.txt"
bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str)//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。