用ls -l命令只能取到分钟位,无法获得秒位
windows中已经通过jni实现了,linux下如何实现,希望高人指点,谢谢!

解决方案 »

  1.   

    答:在我的印像中,好像UNIX或LINUX平台下文件系统中就没有保存文件的创建时间,只有文件的最后修改的时间。否则的话,JAVA中File类就应该有支持这个属性的方法了。以上仅供你参考
      

  2.   

    在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。
      

  3.   

    多谢关注!
    我的需求是这样的,我在这说一下,高人帮我看看
    有一个ftp服务器接收文件,每个文件都有一定的时效,我要判断每个文件是及时到达还是逾限
    我的程序不停地处理这些文件,处理的时候我要获取文件的 接收时间(在windows中我获取的文件的创建时间) 计算时效记录日志
    这个时间如果是获取系统当前时间会有一定问题,一旦我的程序出了问题就无法再获得每个文件真正的接收时间.我理解的接收时间应该是 文件ftp到我的服务器的时候,请问各位高人,我在win下获取创建时间应该是正确的吧,在linux下我应该获取哪个时间呢.多谢.
      

  4.   

    答:原来是这样。我想在LINUX下,就以修改时间为你的文件时间。如:只要不改文件就行。
    方法:如要获取文件mydata.dat,则:
    命令:ls --full-time mydata.dat
    显示结果:-rw-r--r-- 1 root root 0 2008-04-26 22:47:50.000000000 +0800 mydata.dat
    上边红色的就是你要的。你就手JAVA直接取吧。
    以上仅供你参考
      

  5.   

    答:LINUX下既然如此,除了上述ls命令外,用的是最后修改时间,或者,倒不如直接用JAVA的File类取最后修改时间了。以上仅供你参考
      

  6.   

    答:说明:LINUX下文件刚创建好,以后全是文件读操作(没有执行过存盘操作),则取的文件修改时间就是文件创建的时间
      

  7.   

    TO jiangnaisong :
    我再做些试验测试一下还有,问一下
    sprintf(fileTimeString,"%d.%d.%d %d:%d:%d.%d\0",
                            creationSystemTime.wYear,
                            creationSystemTime.wMonth, 
                            creationSystemTime.wDay, 
                            creationSystemTime.wHour, 
                            creationSystemTime.wMinute, 
                            creationSystemTime.wSecond, 
                            creationSystemTime.wMilliseconds);
    我若想得到 2008.04.25 23:16:19.890 "%d.%d.%d %d:%d:%d.%d\0"应该怎么写
      

  8.   

    解决了,呵呵
    "04%d.%02d.%02d %02d:%02d:%02d.%03d\0"
    就可以了.