问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java循环获取文件夹里文件创建时间 。。

发布网友 发布时间:2022-05-17 15:58

我来回答

4个回答

热心网友 时间:2023-10-28 04:57

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
public class RectangleMethod {
public static void main(String[] args) {
RectangleMethod rm = new RectangleMethod();
//String s = rm.getFileCreateDate("D:/srdddd");
rm.getDate("D:/srdddd");
}
//方法一
public String getDate(String path){
String date = "";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
File f = new File(path);
if (f.isDirectory()) {
File files[] = f.listFiles();
for (int i = 0; i < files.length; i++) {
getDate(files[i].getAbsolutePath());
}
}else if (f.isFile()) {
date = f.getName() + ":" + df.format(new Date(f.lastModified()));
System.out.println(date);
}
return date;
}
//方法二
public String getFileCreateDate(String path) {
String date = "";
File f = new File(path);
if (f.isDirectory()) {//判断为文件夹
File files[] = f.listFiles();
for (int i = 0; i < files.length; i++) {
//递归处理
getFileCreateDate(files[i].getAbsolutePath());
}
} else if (f.isFile()) {//判断为文件
date = f.getName() + ":" + getFileCreateDate(f);
//打印时间你也可以进行其他操作比如写入到一个文件中
System.out.println(date);
}
return date;
}
public String getFileCreateDate(File _file) {
File file = _file;
try {
Process ls_proc = Runtime.getRuntime().exec(
"cmd.exe /c dir " + file.getAbsolutePath() + " /tc");
BufferedReader br = new BufferedReader(new InputStreamReader(
ls_proc.getInputStream()));
for (int i = 0; i < 5; i++) {
br.readLine();
}
String stuff = br.readLine();
StringTokenizer st = new StringTokenizer(stuff);
String dateC = st.nextToken();
String time = st.nextToken();
String datetime = dateC.concat(" " + time);
SimpleDateFormat formatter2 = new SimpleDateFormat(
"yyyy-MM-dd hh:mm");
SimpleDateFormat formatter1 = new SimpleDateFormat(
"yyyy/MM/dd HH:mm");
//System.out.println(formatter2.parse(datetime));
datetime = formatter1.format(formatter2.parse(datetime));
br.close();
return datetime;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}

代码如上,希望能帮到你

热心网友 时间:2023-10-28 04:57

可以通过File流的读取所有的文件,之后通过Runtime.getRuntime().exec方法获取时间。
举例:

File file = new File("F://2007vb6");// 文件目录
try {
for (File demoFile : file.listFiles()) {
Process ls_proc = Runtime.getRuntime().exec(
"cmd.exe /c dir " + file.getAbsolutePath() + " /tc");// 通过DOS获得的创建时间
InputStream is = ls_proc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str;
int i = 0;
while ((str = br.readLine()) != null) {
i++;
if (i == 6) {
System.out.println("Create time:" + str.substring(0, 17)); //创建时间获取
}
}
}

热心网友 时间:2023-10-28 04:58

用java file类对象就可以了。public static void main(String sd[]){ File f = new File("D:\\");
File files[] = f.listFiles();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

for(int i=0;i<files.length;i++){ System.out.println(files[i].getName()+":"+df.format(new Date(files[i].lastModified())));
}
}追问额 他给我报个异常 。。 2013-3-26 15:48:08 org.apache.catalina.core.StandardWrapperValve invokejava.lang.ArrayIndexOutOfBoundsException: 7这句话df.format(new Date(files[i].lastModified()))

追答不会吧,这个代码我在本机测试通过了。。看错误是下标越界了,代码没有改吧。

热心网友 时间:2023-10-28 04:58

直接把取时间的代码拖进循环里面去就可以了,没看懂你这循环是要做什么,多个文件的话就不是这样写的了追问我拖进 循环了 ..然后 他总是循环第一个文件的属性时间.. 用你的方法怎么写 ?求详细代码

追答getFileCreateDate只是获取一个文件的创建信息 而且在window平台上才有用

//输出多个指定目录下的所有文件的创建时间
File f = new File("D:\\");
File files[] = f.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isFile()) System.out.println(getFileCreateDate(files[i])); //这个是你上面贴出来的代码
}

.lastModified();是获取文件修改时间,如果没有被修改也就是创建时间

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和面的和是什么读音? win10 应用打不开。全都打不开。 进入win10打不开软件 win10电脑软件都打不开是什么原因win10突然软件都打不开软件是怎么回事... 软件打不开怎么办win10电脑点不开软件最简单办法 请问下,离厦门市岛内的台湾路的国联大厦最近的建设银行和农业银行... 从巴黎都市到建设银行怎么坐公交车,最快需要多久 东莞万江官桥窖离建设银行哪路车最近? 建行七支分行有那些公交车经过 佛山哪里有飞越丛林拓展 怎么用java获取ftp服务器上文件的创建时间? JavaWeb中怎么获取客户端上传的文件的原始创建时间 Javaio流怎么获取文本创建时间 Java获取文件创建时间为空 java怎么获取文件的创建时间,最后访问时间 java 如何获得一个文件夹的创建时间 具体点 java 查看文件创建时间 如何用java获取一个文件的创建时间 风华衡器的电子称,分度值怎么调,从十克调到五克或者更低。 兰州永兴衡器电子秤怎么调 日历是怎么制作的怎么决定出阴历是哪天 中国农历日历是怎么制定的,有什么规律吗? 在微信里发语音的时候说,在手机管理里面打开了麦克风什么的我的手机是小米手机,就是在微信里找不到麦克_百度问一问 会计里为什么要乘时间权数 尤其每股收益里 急求上市公司财务报告中每股收益计算的问题! 论述每股收益的计算和列报 这个论题是属于会计还是证券 每股收益最新指标(三季分配后)什么意思啊? 潍柴动力操盘必读与财务透视中的每股收益怎么不同? 请问一些股票软件里面的财务报告里面的每股收益,是以什么为时间单位的? 在上市公司的财务报表中,各季度的每股收益是单指本季度的收入,还是把上月收入与本季度实际收入相加得到的 有的上市公司的财务简况中每股现金含量为正数,而每股收益和每股未分配利润为负数是怎么回事? java中的File类修改文件创建时间 为什么我的qq抢车位里面的车都没了? JavaWeb中怎么获取客户端上传的文件的原始创建时间?? Java中文件创建时间和现在系统时间的时间间隔怎么计算 QQ抢车位的钱和车怎么突然没了? 我的QQ抢车位的车怎么都没了? 怎么获取文件生成时间 qq抢车位有时候为什么自己车没了 java怎么获取文件访问时间 QQ抢车位,车莫名其妙消失了 在android中怎么获取文件的创建时间 QQ抢车位车怎么没了? QQ抢车位怎么车没了 为什么qq空间里抢车位贴条了车位就没有了 QQ抢车位被举报的车子怎么没有了? 为什么我的QQ抢车位开通了,但没车 我的QQ空间抢车位为什么没了两辆车? 网页设计固定背景图的代码 usb线传输距离最长能达到多少米 USB联网线最长能有多长?