当前位置:首页 » 编程语言 » java文件的创建时间

java文件的创建时间

发布时间: 2022-05-18 01:31:16

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如何获取文件的创建时间

能不能换个思路~~~汗啊~!好像用java的函数只能取得lastModified()有一个比较笨的方法
Process p=Runtime.getRuntime().exec("dir startup.bat /t -c");
然后取得p的输出信息就可以得到创建时间了!上面的例子我是得到tomcat的startup.bat这个文件的创建时间,如果你想得到其它文件的创建时间就可以将startup.bat换成其它文件名!study and mark ^_^如果用dir, 取得创建时间的参数是/TC路过学习ing帮您顶java是用native来获取操作系统的支持,从而对文件进行操作。
具体实现类是
java.io.FileSystem
这个类是私有的只能在jdk内部使用,由于这个类没有提供文件时间创建的接口,你也就没有办法用纯java来获得这一个功能(但愿不是这样)。
有一个简单的方法是自己调用系统函数,或者干脆调用各C函数
先写各本地类访问方法
class MyFileSystem{
public native void getCreatFileTime(File f);static {System.loadLibrary(" ");}
public static void main(String[] args) {
new HelloWorld().getCreatFileTime();}}编译本文件然后执行 javah,便会自动产生头文件 MyFileSystem.h
函数的具体实现如下:
#include
#include "MyFileSystem.h"
#include
JNIEXPORT double JNICALL
Java_MyFileSystem_displayHelloWorld(JNIEnv *env, jobject obj){//在这里调用C函数
double time=getFileCreatTime_IN_C(obj)
return time;}高手如云,我心忐忑
奋发图强~高手如云,我心忐忑奋发图强~me too,高手如云,我心忐忑奋发图强~me too,too还有可以复制java.io.FileSystem及相关类的源代码,把所有东西成public的,这样总可以用了吧,
当然把类名也改掉。。。。。顶!
Study!Up!!!顶一下!
支持upFile f = new File("d:\\a.txt");
Date date = new Date();
long L = date.getTime();
f.setLastModified(L);
以上个函数可以设置文件的最后修改时间,以及设置文件为“只读”属性顶!!!

⑶ 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获取文件创建时间为空

//如果你的jdk环境是1.7或以上,建议使用
try{

BasicFileAttributesbf=Files.readAttributes(Paths.get("F:/aaa.txt"),BasicFileAttributes.class);

bf.creationTime().toMillis();//获取到创建时间的毫秒数,自己转成date类型

}catch(IOExceptione){

e.printStackTrace();

}
//BasicFileAttributes这个还可以获取文件大小,最近修改时间

⑸ 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 如何获得一个文件夹的创建时间 具体点

System.out.println("文件/文件夹的最后修改时间:" + new Date(file.lastModified()).toLocaleString());

⑺ java中的File类修改文件创建时间

setLastModified(long time)
设置此抽象路径名指定的文件或目录的最后一次修改时间。

参数:
最后一次修改时间,用与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示

返回值:
当且仅当该操作成功时,返回 true;否则返回 false

⑻ 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没有函数能直接拿到文件的创建时间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中文件创建时间和现在系统时间的时间间隔怎么计算

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));
}
}

热点内容
数据库字体 发布:2024-05-06 16:33:53 浏览:696
c语言链表建立 发布:2024-05-06 16:17:33 浏览:220
python3xlwt3 发布:2024-05-06 16:09:59 浏览:372
c语言的意思啊 发布:2024-05-06 15:54:19 浏览:69
如何重置手机密码realme 发布:2024-05-06 14:57:25 浏览:348
自己搭建外网服务器违法吗 发布:2024-05-06 14:56:32 浏览:630
苹果安卓哪个步数准确 发布:2024-05-06 14:43:58 浏览:240
安卓手机软件用什么编程语言写 发布:2024-05-06 14:30:07 浏览:657
des解密python 发布:2024-05-06 14:30:06 浏览:684
n的阶乘算法 发布:2024-05-06 14:29:57 浏览:552