具有相同修改时间的两个文件?
Two Files with the same modified time?
我正在编写一个单元测试,其中两个文件正在写入大约 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 上花费不到一毫秒是不是太牵强了?
正如 Henry 和 Michael Burr 所说,问题是毫秒精度。
我正在编写一个单元测试,其中两个文件正在写入大约 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 上花费不到一毫秒是不是太牵强了?
正如 Henry 和 Michael Burr 所说,问题是毫秒精度。