Я хочу использовать Java для получения последнего измененного времени и времени создания файла на HTTP-сервере. Файл находится по определенному URL-адресу. Методы с использованием URLConnection
и HttpURLConnection
дают атрибут Last-Modified из HTTP-заголовка, но это не фактическая дата создания файла.Java/Apache Tika: как получить последний модифицированный/созданный атрибут файла с URL-адресом
Я читал, что Apache Tika является библиотекой для работы. Однако я не смог найти рабочий пример, который делает то, что я хочу. Ближайшим примером является, возможно, here. Но когда я запускаю код, указанный в этом сообщении, он не дает последний измененный атрибут.
Я использую частично подход, заданный в this Ответ, который, как я думаю, может работать, но в настоящее время ничего не печатает.
Parser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
URI u = new URI("https://sec.gov/Archives/edgar/full-index/2015/QTR4/master.idx");
InputStream is = new BufferedInputStream(new FileInputStream(new File(u)));
parser.parse(is, handler, metadata, new ParseContext());
System.out.println("Creation Date" + metadata.get(Metadata.CREATION_DATE));
System.out.println("Last Modified Date" + metadata.get(Metadata.LAST_MODIFIED));
У меня был последний ответ, связанный в моем оригинальном посте. Я хочу использовать первый пример, который дал автор этого вопроса, но его пример не дал атрибута Last Modified, когда я его запускал. Заголовки HTTP, похоже, не возвращают правильную информацию о создании файла, поэтому я пытаюсь использовать Tika. – jshapy8
Я хочу получить метаданные файла, как указано в первом примере ответа. – jshapy8
Но, как я уже сказал, Тика не получит доступ к информации заголовка HTTP, которую вы хотите прочитать. Он будет извлекать метаданные из самого файла. И поскольку idx-файл не обрабатывается Tika, он не может прочитать информацию внутри (и более простой файл txt, поэтому он не содержит метаданные, например doc или pdf). – YMomb