У меня есть несколько файлов CSV, которые я
хочу скачать с Yahoo финансов
ежедневно. Я хочу, чтобы мое заявление
читать дату создания файла (на моем
компьютер, а не сервер). Если
дата создания предшествует сегодня, то
новый файл должен быть загружен (как
у него будут новые данные).
Чтобы обнаружить изменения в локальном файле, вам нужна дата последнего изменения файла, которая является более общей, чем дата создания для этого вида проверки (поскольку она также показывает изменения в файле после того, как он был создан).
Вы можете получить это в Java, используя
public long lastModified()
метод для объекта File.
Обратите внимание, что в File API нет способа получить дату создания, возможно потому, что эта информация доступна не во всех файловых системах.
Если вам абсолютно нужна дата создания файла, то (если вы создаете файлы самостоятельно или вы можете спросить тех, кто это делает), вы можете закодировать дату создания по соглашению в имени файла, например это: myfile_2009_04_11.csv.
Затем вам нужно будет проанализировать имя файла и определить дату создания.
Я немного погуглил и
нашел проект Apache POI. Это
лучший путь, есть ли лучше
Кстати, что бы вы порекомендовали.
Проект Apache POI - это библиотека для чтения и записи файлов MS Office (в данном случае это файлы Excel). CSV - это простой текстовый формат, поэтому вам не нужно использовать POI для его чтения.
Кроме того, необходимая информация (дата создания или дата последнего изменения) доступна в виде метаданных для самого файла, а не для данных файла, поэтому вам не требуется POI для доступа к нему.
JNI здесь вообще имеет отношение?
Теоретически, вы можете использовать собственное расширение JNI (мост к собственному коду), чтобы получить дату создания файла в тех файловых системах, которые его поддерживают.
Однако лучше всего использовать переносную дату последней модификации, уже указанную в API Java SDK, и / или соглашение «дата создания, закодированная в имени файла».
Использование JNI сделает вашу программу не переносимой без каких-либо дополнительных преимуществ.