如何获取文件的创建时间

如何获取文件的创建时间,第1张

用file, 比如我在D盘有个文件夹a,现在要获取其创建时间: File file = new File("D:\\a"); long time = filelastModified();//返回文件最后修改时间,是以个long型毫秒数 String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")format

能不能换个思路~~~汗啊~!好像用java的函数只能取得lastModified()有一个比较笨的方法

Process p=RuntimegetRuntime()exec("dir startupbat /t -c");

然后取得p的输出信息就可以得到创建时间了!上面的例子我是得到tomcat的startupbat这个文件的创建时间,如果你想得到其它文件的创建时间就可以将startupbat换成其它文件名!study and mark ^_^如果用dir, 取得创建时间的参数是/TC路过学习ing帮您顶java是用native来获取 *** 作系统的支持,从而对文件进行 *** 作。

具体实现类是

javaioFileSystem

这个类是私有的只能在jdk内部使用,由于这个类没有提供文件时间创建的接口,你也就没有办法用纯java来获得这一个功能(但愿不是这样)。

有一个简单的方法是自己调用系统函数,或者干脆调用各C函数

先写各本地类访问方法

class MyFileSystem{

public native void getCreatFileTime(File f);static {SystemloadLibrary(" ");}

public static void main(String[] args) {

new HelloWorld()getCreatFileTime();}}编译本文件然后执行 javah,便会自动产生头文件 MyFileSystemh

函数的具体实现如下:

#include

#include "MyFileSystemh"

#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还有可以复制javaioFileSystem及相关类的源代码,把所有东西成public的,这样总可以用了吧,

当然把类名也改掉。。。。。顶!

Study!Up!!!顶一下!

支持upFile f = new File("d:\\atxt");

Date date = new Date();

long L = dategetTime();

fsetLastModified(L);

以上个函数可以设置文件的最后修改时间,以及设置文件为“只读”属性顶!!!

Java只能读取到文件的最后修改时间,不能获取创建时间,

创建时间是利用了cmd命令获取的:

public class FileTest {

 

 public static void main(String[] args) {

  getCreateTime("d:\\test-1txt");

  getModifiedTime("d:\\test-1txt");

 }

 

 public static void getCreateTime(String filePath) {

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

 }

 public static void getModifiedTime(String filePath) {

  long time = new File(filePath)lastModified();

  String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")format(new Date(time));

  Systemoutprintln("修改时间[1] " + ctime);

 }

}

在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。

你们这些人都不看MSDN啊?

FileGetCreationTime 方法

NET Framework 4 其他版本 NET Framework 35

NET Framework 30

NET Framework 20

Silverlight

返回指定文件或目录的创建日期和时间。

命名空间: SystemIO

程序集: mscorlib(在 mscorlibdll 中)

语法

--------------------------------------------------------------------------------

C#C++F#VB

复制

public static DateTime GetCreationTime(

string path

)

参数

path

类型:SystemString

要获取其创建日期和时间信息的文件或目录。

返回值

类型:SystemDateTime

一个 DateTime 结构,它被设置为指定文件或目录的创建日期和时间。 该值用本地时间表示。

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如何获取文件的创建时间、JAVA怎样实现获取文件创建时间啊,求帮助。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9492782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存