【问题标题】:Two Files with the same modified time?修改时间相同的两个文件?
【发布时间】:2017-08-05 16:23:06
【问题描述】:

我正在编写一个单元测试,其中两个文件正在写入大约 512Kb 的数据。我一个接一个地给他们写信。我认为由于它们是按顺序写入的,因此文件二会比文件一大几毫秒(我在这里的假设是写入 512Kb 至少需要 1 毫秒)。但是,lastModified() 函数为两者提供了相同的时间。我猜这意味着这两个文件都被写入不到一毫秒,因此两者的时间相同,但这似乎不太可能。还有什么可能导致两个文件具有相同的修改时间?

public void Info_FullLogWrittenToFileOneAndTwo_TestStringInLogOne() {
    DevilLog log = DevilLog.getLogger(appContext, LOG_FILE_NAME, LogFileTest.class.getSimpleName());
    clearAllLogFiles();
    fillLogToMaxSize(LOG_ONE_NAME);
    fillLogToMaxSize(LOG_TWO_NAME);
    ...
}

// in another file...
long logOneModifiedTime = logOne.lastModified();
long logTwoModifiedTime = logTwo.lastModified();

File chosenFile;
if (logOneModifiedTime >= logTwoModifiedTime) // modified time is the same

fillLogToMaxSize 是使用FileWriter 对文件的简单写入。

编辑:嗯,写入 512Kb 的速度可能会有所不同,具体取决于处理器速度和硬盘写入速度。认为 512Kb 在使用 SSD 的 i5 核心上可能需要不到一毫秒的时间是不是太牵强了?

【问题讨论】:

标签: android filewriter


【解决方案1】:

正如亨利和迈克尔·伯尔所说,问题在于毫秒精度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    相关资源
    最近更新 更多