
package comxianhome2;
import javaioBufferedReader;
import javaioFile;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
import javaioInputStream;
import javaioInputStreamReader;
import javatextSimpleDateFormat;
import javautilCalendar;
import javautilDate;
import javautilList;
public class FileOperate {
/
@param args
/
public static void main(String[] args) {
// FileOperate fo = new FileOperate();
// String filepath = "G:\\02";
// fogetFileList(filepath);
getCreateTime();
}
public List<File> getFileList(String filepath) {
try {
File file = new File(filepath);
if (fileisDirectory()) {
String[] filelist = filelist();
for (int i = 0; i < filelistlength; i++) {
File Ifile = new File(filepath + "\\" + filelist[i]);
FileInputStream fis = new FileInputStream(Ifile);
long modifiedTime = IfilelastModified();
Date date=new Date(modifiedTime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM");
String dd=sdfformat(date);
Systemoutprintln("File name:" + IfilegetName()
+ " \tFile size: "
+ (double) ((double) fisavailable() / 1024 / 1024)
+ "M"+ " \tFile create Time: "+dd);
}
}
} catch (FileNotFoundException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
return null;
}
/
/
public static void getCreateTime(){
String filePath = "G:\\02\\123txt";
String strTime = null;
try {
Process p = RuntimegetRuntime()exec("cmd /C dir "
+ filePath
+ "/tc" );
InputStream is = pgetInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while((line = brreadLine()) != null){
if(lineendsWith("txt")){
strTime = linesubstring(0,17);
break;
}
}
} catch (IOException e) {
eprintStackTrace();
}
Systemoutprintln("创建时间 " + strTime);
//输出:创建时间 2009-08-17 10:21
}
/
读取文件修改时间的方法1
/
@SuppressWarnings("deprecation")
public static void getModifiedTime_1(){
File f = new File("C:\\testtxt");
Calendar cal = CalendargetInstance();
long time = flastModified();
calsetTimeInMillis(time);
//此处toLocalString()方法是不推荐的,但是仍可输出
Systemoutprintln("修改时间[1] " + calgetTime()toLocaleString());
//输出:修改时间[1] 2009-8-17 10:32:38
}
/
读取修改时间的方法2
/
public static void getModifiedTime_2(){
File f = new File("C:\\testtxt");
Calendar cal = CalendargetInstance();
long time = flastModified();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
calsetTimeInMillis(time);
Systemoutprintln("修改时间[2] " + formatterformat(calgetTime()));
//输出:修改时间[2] 2009-08-17 10:32:38
}
}
import os,time
timectime(osstat("c:/1txt")st_mtime) #文件的修改时间
timectime(osstat("c:/1txt")st_ctime) #文件的创建时间
timelocaltime(osstat("F:/logtxt")st_mtime) #文件访问时间 适合计算时间
ModifiedTime=timelocaltime(osstat("F:/logtxt")st_mtime) #文件访问时间
y=timestrftime('%Y', ModifiedTime)
m=timestrftime('%m', ModifiedTime)
d=timestrftime('%d', ModifiedTime)
H=timestrftime('%H', ModifiedTime)
M=timestrftime('%M', ModifiedTime)
d2=datetimedatetime((int)y,(int)m,(int)d,(int)H,(int)M)
同理d1
(d1-d2)seconds #为d1与d2相隔十分钟 !
批处理获取修改时间很容易。。看for帮助: %~tI - 将 %I 扩展到文件的日期/时间这个“日期/时间”就是修改时间。。另外veket_linux大侠的au3有点小笔误:StringCompare($modify_time[$i], $start)<=0应该改成StringCompare($modify_time[$i], $end)<=0。。还有最后一个Msgbox图标用64比较好点。。
1获取文件创建时间示例:
$ctime=filectime("chinawinxptxt");echo "创建时间:"date("Y-m-d H:i:s",$ctime);
2获取文件修改时间示例:
$mtime=filemtime("chinawinxptxt");echo "修改时间:"date("Y-m-d H:i:s",$mtime);
java中只能用javaioFile获得文件的最后修改时间,如下:
比如我在D盘有个文件夹a,现在要获取其创建时间:
File file = new File("D:\\a");
long time = filelastModified();//返回文件最后修改时间,是以个long型毫秒数
String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")format(new Date(time));
Systemoutprintln(ctime);
想要获得文件的创建时间,那么只能用java去掉命令实现了,若为windows系统,想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现, 代码如下:
public static void main(String[] args) {try {
Process p = RuntimegetRuntime()exec("cmd /C dir d:\\testtxt /tc");
InputStream is = pgetInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String str;
int i = 0;
while ((str = brreadLine()) != null) {
i++;
if (i == 6) {
Systemoutprintln(strsubstring(0, 17));
}
}
} catch (javaioIOException exc) {
excprintStackTrace();
}
}
File file = new File("文件路径");
long time = filelastModified(); //返回此抽象路径名表示的文件最后一次被修改的时间。
Date date = new Date(time); //转换成Date类型, 接下来自己 *** 作
以下批处理能实现:
1、每次检查1txt的修改时间
2、与上一次记录的时间对比
3、相同不做任何处理,不同则在2_logtxt中记1笔时间变化记录
4、更新2txt的时间
请把下面的批处理存为mymonitorbat
@echo off
@if not exist 2txt @for /f "tokens=1,2 delims= " %%a in ('dir d:\1txt^|find "20"') do @echo %%a %%b>2txt
@for /f "tokens=1,2 delims= " %%a in ('dir d:\1txt^|find "20"') do @echo %%a %%b>_2txt
@set /p old= <2txt
@set /p new= <_2txt
@if not %old%==%new% (
@echo Record %date% %time%: file %1 modified time changed to %new%>>2_logtxt
@del 2txt
@ren _2txt 2txt
)
自动发送邮件这个我就没办法了,有个smtpsendexe可以实现cmd下发邮件,但您的域里必须有台smtp服务器才行,如果您有那从网上就能下载,写好命令加到最后一行括号前就行了。
批处理获取修改时间很容易。。看for帮助: %~tI - 将 %I 扩展到文件的日期/时间 这个“日期/时间”就是修改时间。。另外veket_linux大侠的au3有点小笔误: StringCompare($modify_time[$i], $start)
以上就是关于java编写程序获取指定文件的最后修改时间全部的内容,包括:java编写程序获取指定文件的最后修改时间、如何在Python中获取文件创建和修改日期/时间、怎么获取文件修改时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)