好像用java的函数只能取得lastModified()

解决方案 »

  1.   

    有一个比较笨的方法
    Process p=Runtime.getRuntime().exec("dir startup.bat /t -c");
    然后取得p的输出信息就可以得到创建时间了!
      

  2.   

    上面的例子我是得到tomcat的startup.bat这个文件的创建时间,如果你想得到其它文件的创建时间就可以将startup.bat换成其它文件名!
      

  3.   

    如果用dir, 取得创建时间的参数是/TC
      

  4.   


    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 <jni.h>
    #include "MyFileSystem.h"
    #include <stdio.h>JNIEXPORT double JNICALL 
    Java_MyFileSystem_displayHelloWorld(JNIEnv *env, jobject obj) 
    {
        //在这里调用C函数
        double time=getFileCreatTime_IN_C(obj)
        return time;
    }
      

  5.   

    高手如云,我心忐忑
    奋发图强~
     me too,
      

  6.   

    高手如云,我心忐忑
    奋发图强~
     me too,too
      

  7.   

    还有可以复制java.io.FileSystem及相关类的源代码,把所有东西成public的,这样总可以用了吧,
    当然把类名也改掉。。
      

  8.   

    File f = new File("d:\\a.txt");
    Date date = new Date();
    long L = date.getTime();
    f.setLastModified(L);
    f.setReadOnly();以上个函数可以设置文件的最后修改时间,以及设置文件为“只读”属性