2013-04-08 3 views
1

Я хотел бы прочитать время доступа к файлам портативным способом. Я нашел accessTime в System.Posix.Files, но это только POSIX. Есть ли переносимый кросс-платформенный способ, который будет работать как в системах Windows, так и в POSIX?Как получить время доступа к файлу в Haskell (кросс-платформенный)?

ответ

4

В Windows вы можете использовать функцию System.Win32.getFileTime, второй раз - это время последнего доступа. Как я знаю - нет кроссплатформенного способа для этой задачи.

5

Как насчет System.Directory.getModificationTime для времени модификации? Для доступа я не уверен, что есть портативный способ.

+0

К сожалению, мне нужно в первую очередь получить доступ. –

2

Вы можете использовать unix-compat, чтобы получить поддержку Windows и POSIX для многих функций в пакете unix.

+1

Я почти радовался тому, что проблема решена так легко, но, к сожалению, глядя на реализацию переносимой части, она действительно не читает время доступа, [она просто копирует время модификации в нее] (https://github.com /jystic/unix-compat/blob/master/src/System/PosixCompat/Files.hsc#L314). –

+0

Ничего себе, это слишком плохо. Я рад узнать об этом предостережении. –