晚上在做一道作业题,要求输出一个目录下 创建日期晚于 2010-1-1 的所有文件的文件名我想问问 能不能用 过滤器 FileFileter 来实现,如果可以的话还请指教下。谢谢了!
解决方案 »
- swing Jtable, 很难的
- 高手来指导一下
- 一个小游戏出问题了,帮忙给看下,不胜感激
- 请教各位,jdom如何加入运行文件中?高分!
- 在editplus(配置正确)环境下编译第一次javac可以过的,而第二次java后,就一直等待不动,没有输入光标让我输入数据。
- BigInteger类不知道怎么用,请高手指点.!!!高分相谢,马上结帖!!!
- ***关于DefaultTableModel的小问题--各位高手,欢迎进来看看--很容易拿分的哦!!!
- Java Swing JTable 如何做到动态灰化
- 有谁用过 poi 生成 Excel 文件吗?里面的中文内容都成乱码!有谁帮我给你500分~!(分五次给)
- Eclipse如何设置可以使形参变成有意义的单词?
- java布局管理器问题
- JAVA如何实现音频的对比
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileList {
public static Date date;
static {
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse("2010-11-01");
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
File file = new File("d:\\java");
fileList(file);
}
public static void fileList(File f) {
if(f.isDirectory()) {
File[] files = f.listFiles();
for(int i=0; i<files.length; i++) {
fileList(files[i]);
}
} else {
if(f.lastModified() > date.getTime()) {
System.out.println(f.getName());
}
}
}
}
import java.io.File;
import java.io.FileFilter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class TestFileFilter {
public static void main(String args[]){
filter("c:\\");
}
public static void filter(String path){
File file = new File(path);
File[] list = file.listFiles(new Filter());
for(File filefilter : list){
if(filefilter.isDirectory())
filter(filefilter.getAbsolutePath());
if(filefilter.getName().indexOf(".") != -1)
System.out.println(filefilter.getName());
}
}
}class Filter implements FileFilter{
public boolean accept(File pathname) {
try {
if(pathname.lastModified() < new SimpleDateFormat("yyyy-MM-dd").parse("2010-11-23").getTime()){
return false;
}
} catch (ParseException e) {
e.printStackTrace();
return false;
}
return true;
}
}
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;public class zuoye2
{
public static void main(String[] agrs)throws Exception
{
File dir = new File("/home/guser/java-study"); //文件夹路径(这个是绝对路径,我用的linux。)
GuoLv gl = new GuoLv(); //定义过滤器
File fs[] = dir.listFiles(gl);
display(fs); //调用 display 方法按要求显示内容
}
public static void display(File[] fs) //定义显示方法
{
for(int i=0;i<fs.length;i++)
{
if(fs[i].isDirectory())
{System.out.println("这是个目录:" + fs[i]);}
else
{System.out.println("这是个文件:" + fs[i]);}
}
}
}class GuoLv implements FileFilter //定义文件过滤器
{
public boolean accept(File path) //重载 accept 函数,定义自己的过滤规则
{
Long d =path.lastModified(); //返回文件的最后修改时间(long 毫秒数)
Calendar c = Calendar.getInstance(); //创建日历对象 c 并用当前时间初始化
c.setTimeInMillis(d); //将日历对象 c 的时间设置为文件最后修改时间
Calendar c2 = Calendar.getInstance(); //创建日历对象 c2 并用当前时间初始化
c2.set(2010,12,1); //将日历对象 c2 设置为“门槛“时间
return c.after(c2); //返回两个时间相比较的结果
}
}