Я хотел бы прочитать время доступа к файлам портативным способом. Я нашел accessTime
в System.Posix.Files
, но это только POSIX. Есть ли переносимый кросс-платформенный способ, который будет работать как в системах Windows, так и в POSIX?Как получить время доступа к файлу в Haskell (кросс-платформенный)?
ответ
В Windows вы можете использовать функцию System.Win32.getFileTime, второй раз - это время последнего доступа. Как я знаю - нет кроссплатформенного способа для этой задачи.
Как насчет System.Directory.getModificationTime для времени модификации? Для доступа я не уверен, что есть портативный способ.
Вы можете использовать unix-compat, чтобы получить поддержку Windows и POSIX для многих функций в пакете unix
.
Я почти радовался тому, что проблема решена так легко, но, к сожалению, глядя на реализацию переносимой части, она действительно не читает время доступа, [она просто копирует время модификации в нее] (https://github.com /jystic/unix-compat/blob/master/src/System/PosixCompat/Files.hsc#L314). –
Ничего себе, это слишком плохо. Я рад узнать об этом предостережении. –
К сожалению, мне нужно в первую очередь получить доступ. –