文件夹中D:/testffff里面有三个文件,目的是想要获取最新修改时间的一个文件名。
下面代码已经获取到三个文件名和时间,卡在修改时间的比较了。
执行结果是:
Test.txt:2014-02-13 10:22:01.959
test1.xls:2014-01-16 12:21:39.282
获取最新时间的文件名.txt:2014-02-13 10:52:31.557
想要获取到
获取最新时间的文件名.txt
代码怎么修改?
import java.io.File;
import java.sql.Timestamp;
public final class fffff {
public static void main(String[] args) {
File file=new File("D:/testffff");
String test[];
test=file.list();
for(int i=0;i<test.length;i++){
File file1=new File("D:/testffff/"+test[i]);
long modify = file1.lastModified(); // 修改时间
String shijian=new Timestamp(modify).toString();
System.out.println(test[i]+":"+shijian); }
}
}
------解决方案--------------------
这不就是排序找出最大值一样的吗
import java.io.File;
import java.sql.Timestamp;
public final class fffff {
public static void main(String[] args) {
File file=new File("D:/testffff");
File lastFile=null;//最新修改的文件
String test[];
test=file.list();
long lastModified=0l;//最后一次修改时间
for(int i=0;i<test.length;i++){
File file1=new File("D:/testffff/"+test[i]);
//当前文件的修改时间比上次的更大就将最新修改时间记录为当前文件的修改时间。以便下一次比较
if(file1.lastModified()>lastModified){
lastModified=file1.lastModified();
lastFile=file1;
}
}
System.out.println(lastFile+" 修改时间:"+new Timestamp(lastFile.lastModified()).toString());
}
}
------解决方案--------------------
split 分割一下取最后一个元素
------解决方案--------------------
String 的lastIndexOf(String str)方法,然后substring(int beginIndex)