java文件创建时间
① 如何用java获取一个文件的创建时间
java没有函数能直接拿到文件的创建时间lastModified()只能获得最后一次修改时间
想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现,
代码如下:
publicstaticvoidmain(String[]args){
try{
Processp=Runtime.getRuntime().exec(
"cmd/Cdird:\test.txt/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringstr;
inti=0;
while((str=br.readLine())!=null){
i++;
if(i==6){
System.out.println(str.substring(0,17));
}
}
}catch(java.io.IOExceptionexc){
exc.printStackTrace();
}
}
② java中在修改数据时,怎样把保证创建时间不会变
1、不要在代码里面给创建和更新时间赋值
2、在mysq数据库里面给创建和更新时间赋默认值
3、mysql的字段类型timestamp
4、创建时间默认:CURRENT_TIMESTAMP
5、更新时间默认:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
③ Java中如何得到文件的创建时间&最后修改时间
java中只能用java.io.File获得文件的最后修改时间,如下:
比如我在D盘有个文件夹a,现在要获取其创建时间:
File file = new File("D:\a");
long time = file.lastModified();//返回文件最后修改时间,是以个long型毫秒数
String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(time));
System.out.println(ctime);
想要获得文件的创建时间,那么只能用java去掉命令实现了,若为windows系统,想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现,代码如下:
publicstaticvoidmain(String[]args){
try{
Processp=Runtime.getRuntime().exec("cmd/Cdird:\test.txt/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringstr;
inti=0;
while((str=br.readLine())!=null){
i++;
if(i==6){
System.out.println(str.substring(0,17));
}
}
}catch(java.io.IOExceptionexc){
exc.printStackTrace();
}
}
④ java 查看文件创建时间
在java中没有正式的方法来获取文件的创建时间,但是,可以使用下面的解决方法在Windows平台上获取文件的创建日期。
java如何获取文件的创建日期
package com.mkyong.file;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class GetFileCreationDateExample
{
public static void main(String[] args)
{
try{
Process proc =
Runtime.getRuntime().exec("cmd /c dir c:\\logfile.log /tc");
BufferedReader br =
new BufferedReader(
new InputStreamReader(proc.getInputStream()));
String data ="";
//it's quite stupid but work
for(int i=0; i<6; i++){
data = br.readLine();
}
System.out.println("Extracted value : " + data);
//split by space
StringTokenizer st = new StringTokenizer(data);
String date = st.nextToken();//Get date
String time = st.nextToken();//Get time
System.out.println("Creation Date : " + date);
System.out.println("Creation Time : " + time);
}catch(IOException e){
e.printStackTrace();
}
}
}
结果:
Extracted value : 31/05/2010 08:05 14 logfile.log
Creation Date : 31/05/2010
Creation Time : 08:05
⑤ Java中文件创建时间和现在系统时间的时间间隔怎么计算
package com.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
/**
* Fileの时间を取得用クラス
*
* @author 徐小慧
* @version 1.0.0 $Id: Timetake 12254 2007-08-16 04:35:16Z
* xuxh $
* @since R1.0.0
*/
public class GetFileCreateTime {
/**
* Fileの时间
* @param _file _file
* @return datetime datetime
*/
public static 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);
br.close();
return datetime;
} catch (Exception e) {
return null;
}
}
public static int getDaysBetweenDate(Date d1, Date d2){
int days;
days = (int) ((d1.getTime() - d2.getTime())/(24*60*60*1000));
return days;
}
public static void main(String[] args){
//指定文件
File file = new File("D://安装工具//aalf.dat");
//获取创建日期
String time = GetFileCreateTime.getFileCreateDate(file);
SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-ddhh:mm");
Date date = null;
try {
date = d.parse(time);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//打印时间间隔
System.out.println(getDaysBetweenDate(new Date(), date));
}
}
⑥ java怎么获取文件的创建时间,最后访问时间
假如你的jdk环境可以在1.7或之上,推荐你用nio包下的一个对象
代码如下:
Pathp=Paths.get("C:/1.txt")
try{
BasicFileAttributesatt=Files.readAttributes(p,BasicFileAttributes.class);//获取文件的属性
att.creationTime().toMillis();
att.lastAccessTime().toMillis();
att.lastModifiedTime().toMillis();
}catch(IOExceptione1){
e1.printStackTrace();
}
//如各个方法名称显示的,你研究下吧
⑦ JAVA怎样实现获取文件创建时间啊,求帮助。
Java只能读取到文件的最后修改时间,不能获取创建时间,
创建时间是利用了cmd命令获取的:
publicclassFileTest{
publicstaticvoidmain(String[]args){
getCreateTime("d:\test-1.txt");
getModifiedTime("d:\test-1.txt");
}
publicstaticvoidgetCreateTime(StringfilePath){
StringstrTime=null;
try{
Processp=Runtime.getRuntime().exec("cmd/Cdir"+filePath+"/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringline;
while((line=br.readLine())!=null){
if(line.endsWith(".txt")){
strTime=line.substring(0,17);
break;
}
}
}catch(IOExceptione){
e.printStackTrace();
}
System.out.println("创建时间"+strTime);
}
(StringfilePath){
longtime=newFile(filePath).lastModified();
Stringctime=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate(time));
System.out.println("修改时间[1]"+ctime);
}
}
⑧ java根据时间创建年月日多级文件夹
publicstaticvoidmain(String[]args){
Calendardate=Calendar.getInstance();
StringrootDir="D:";
Filefile=newFile(rootDir+File.separator+date.get(Calendar.YEAR)
+File.separator+(date.get(Calendar.MONTH)+1)+File.separator
+date.get(Calendar.DAY_OF_MONTH));
System.out.println(file.getAbsolutePath());
if(!file.exists()){//目录不存在则直接创建
file.mkdirs();
}
}