Java:aix中的文件lastmodified itimestamp

标签 java file

我想在java中将目录中的文件按照最早的顺序排序,以对其中的文件执行一些操作(先进先出原则)。 为此,我在每个飞行对象上使用lastmodified方法,然后通过比较器对它们进行比较,这给了我如下所示的排序列表

    public static ArrayList<File> sortListAscending(ArrayList<File> list) {
    Collections.sort(list, new Comparator<File>() {
        public int compare(final File o1, final File o2) {
            return new Long(((File) o1).lastModified()).compareTo(new Long(
                    ((File) o2).lastModified()));
        }
    });
    return list;
}

当我在 Windows 上运行此命令时,我会返回一个 13 位时间戳,而在 unix 中时间戳不可达毫秒。 因此,对于在该一秒时间范围内进入目录的文件,上述方法在 unix 中失败。

请建议一些解决方法?

最佳答案

在我的 Ubuntu 机器上,时间戳以 13 位返回,即。毫秒。你能检查一下你的 Linux 机器上的系统时钟是否设置正确吗?

因此您可以在几秒钟内进行比较。

long lastModified1 = (o1.lastModified()/1000)
long lastModified2 = (o2.lastModified()/1000)

return Long.valueOf(lastModified1).compareTo(lastModified2);

关于Java:aix中的文件lastmodified itimestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315331/

相关文章:

java - Struts 1 动态设置action的输入属性

java - 你认为http协议(protocol)混合字符流和字节流不是一个好的设计吗

java - xpath无法获取具有命名空间的节点

c - 如何使用C在目录内创建文件

Python 程序在读取文本文件时打印一个额外的空行

linux - 如何从二进制垃圾中清除数据文件?

java - Bigquery 流 API 返回 "unsupported content with type"

java.util.ArrayList 无法转换为 com.android.billingclient.api.SkuDetails

python - 明确关闭文件重要吗?

java - 用文本文件存储和显示多个用户的信息