Duffblog
前进一步,看看,需要前进更大一步才可以。
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
5 随笔 :: 53 文章 :: 5 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
2006年9月 (2)
2006年5月 (2)
2006年3月 (1)
文章分类
J2EE
(rss)
Java(17)
(rss)
Tomcat
(rss)
山路漫步(8)
(rss)
开源技术(2)
(rss)
技术文摘(18)
(rss)
文章档案
2006年12月 (8)
2006年11月 (2)
2006年10月 (7)
2006年9月 (4)
2006年8月 (8)
2006年7月 (2)
2006年6月 (6)
2006年5月 (6)
2006年4月 (10)
网站
http://blog.lupaworld.com/blog
JavaWorld TW
(rss)
台湾不错的Java方面的论坛.
最新评论
1. re: 结合Spring2.0和ActiveMQ进行异步消息调用(转)[未登录]
有个问题不明白,就是是否不用启动监听容器?那么接收端不用启动就能获取到消息了?
--leven
2. re: JVM的内存管理机制 java.lang.OutOfMemoryError: PermGen space [未登录]
不对啊,我个还是不行啊,我用了myeclipse,使用了hibernate,struts
--liu
3. re: (转)voa的学习技巧和经验
well written!it's better to wrote in English.That is professional.
--蒋文明
4. re: 如何正确地应用Runtime类调用程序
评论内容较长,点击标题查看
--pc
5. re: Spring的一些参考。(http://www.blogjava.net/calvin/category/2823.html)
评论内容较长,点击标题查看
--pc
阅读排行榜
1. Spring的一些参考。(http://www.blogjava.net/calvin/category/2823.html)(343)
2. 百名专家推荐适合中国人10大减压方法(转)(265)
3. 感叹!!!(247)
4. 随便写写关于Object(221)
5. 晃悠~~晃悠~~(188)
评论排行榜
1. Spring的一些参考。(http://www.blogjava.net/calvin/category/2823.html)(1)
2. 晃悠~~晃悠~~(0)
3. 百名专家推荐适合中国人10大减压方法(转)(0)
4. 感叹!!!(0)
5. 随便写写关于Object(0)
Java读取File的问题
我想要读取某一个路径下,文件最后修改的时间大于我给定的所有的文件.
比如是E:\file
我想要等到一部分的file,即是文件最后修改的时间大于我给定的
我目前的做法是:
查看所有的File,一一比对,得到我想要的File
//read path
Vector needReadFile = new Vector();
Date fileDate = new Date();
File[] files = new File(readFilePath).listFiles();
if (files == null) {
continue;
}
for (int x = 0; x < files.length; x++) {
File tempFile = files[x];
Date fileDate = new Date(tempFile.
lastModified());
if (fileDate.compare(lastModifyDate) == 1 ) {
needReadFile.add(readFilePath + File.separator +
tempFile.getName());
}
} //end for(int i = 0 ; i< files.length ; i++)
虽然这样做是可以达到,当我的File很多的时候,效率很差了
效率好一点的方法:
看看listFiles()和listFiles(FileFilter filter) 的源代码
public File[] listFiles() {
String[] ss = list();
if (ss == null) return null;
int n = ss.length;
File[] fs = new File[n];
for (int i = 0; i < n; i++) {
fs[i] = new File(this.path, ss[i]);
}
return fs;
}
public File[] listFiles(FileFilter filter) {
String ss[] = list();
if (ss == null) return null;
ArrayList v = new ArrayList();
for (int i = 0 ; i < ss.length ; i++) {
File f = new File(this.path, ss[i]);
if ((filter == null) || filter.accept(f)) {
v.add(f);
}
}
return (File[])(v.toArray(new File[0]));
}
采用第二个方法以后,只需要遍历一遍,而且代码更清晰,
采用第一个方法,你取得列表以后还需要遍历一遍过滤掉不符合条件的.
File[] files = new File(readFilePath).listFiles(new FileFilter(){
public boolean accept(File pathname){
//.判断修改日期,符合条件返回true;否则false;
}});
这里采用匿名类,实现一个FileFilter,你要修改过滤的逻辑,只需要修改accept()方法就是了,当然,你也可以专门写一个类比如
class FileModifyDateFilter implements FileFilter{
private Date baseDate = null;
public FileModifyDateFilter(Date d) {
baseDate = d;
}
public boolean accept(File f) {
if (baseDate == null)
return true;
if (f.lastModified() > baseDate.getTime())
return true;
return false;
}
}
原文来自:
http://www.jdon.com/jive/thread.jsp?forum=16&thread=22478&message=13169392
posted on 2006-04-04 21:17
追球者
阅读(829)
评论(0)
编辑
收藏
所属分类:
Java
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
算术表达式的计算(转)
算术表达式(转)
Java正则表达式详解(转)-----入门知识。
Java 虚礼机的一些配置。
Spring用JDBC 调用ORACLE存储过程的结果集
Java AWT Clipboard(Java剪贴板)的用法。
咖啡,还是淡些好
JAVA内存泄漏——内存泄漏原因和内存泄漏检测工具(zt)
Apache commons (转)
hibernate hql(转)
Powered by:
BlogJava
Copyright © 追球者