我正在编写一个单元测试,其中两个文件正在写入大约512Kb的数据。我一个接一个地给他们写信。我认为,因为它们是按顺序写入的,所以文件2比文件一大几毫秒(我的假设是写入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可能会有不同的速度,具体取决于处理器速度和硬盘写入速度。在使用SSD的核心i5上认为512Kb可能需要不到一毫秒的时间并不是那么牵强吗?
答案 0 :(得分:0)
亨利和迈克尔伯尔说,问题的精确度是毫秒级。