Лучший способ получить дату файла, созданную из Java в системе UNIX? - PullRequest
1 голос
/ 19 апреля 2011

java.io.File не позволяет получить дату создания файла. Вы можете получить file.lastModified, но не что-то вроде dateCreated.

Java 7 добавляет отличный пакет java.nio.file с доступом к дате создания, но он еще не вышел.

Мой вопрос: каков наилучший способ получить дату файла, созданную из Java в системе UNIX / OSX? Я предполагаю, что он выполняет сценарий оболочки, но мои навыки командной строки довольно слабые. Так что, если сценарии оболочки - это путь, если бы вы могли привести полный пример, я был бы очень признателен.

Спасибо!

Ответы [ 4 ]

2 голосов
/ 19 апреля 2011

Из командной строки самый простой способ получить дату создания - mdls.Я думаю, что вы хотите сделать /usr/bin/mdls -name kMDItemFSCreationDate $filename (где $filename - это файл, о котором вы спрашиваете).Вы можете указать несколько имен файлов, но это может затруднить анализ выходных данных.

2 голосов
/ 19 апреля 2011

Unix не имеет «даты создания».Единственными датами, хранящимися в файлах, являются даты изменения, в которых хранится время, когда содержимое файла было изменено;дата доступа, которая хранит время последнего чтения файла;и «дата изменения», в которой хранятся данные об изменении метаданных файла в последний раз.(Метаданные содержат такие вещи, как биты прав доступа, владельца и т.

0 голосов
/ 19 апреля 2011

На самом деле это зависит от файловой системы, и большинство файловых систем не предоставляют такую ​​функцию, как сохранение файла «время рождения». Вам необходимо проверить файловую систему.

0 голосов
/ 19 апреля 2011

Вы не можете - оно нигде не хранится

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...