Javaを使用して、HTTPサーバー上のファイルの最終変更時刻と作成時刻を取得します。ファイルは特定のURLにあります。 URLConnection
とHttpURLConnection
を使用するメソッドは、HTTPヘッダーからLast-Modified属性を生成しますが、これはファイルの実際の作成日ではありません。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
しかし、私が言ったように、Tikaはあなたが読むことを望むHTTPヘッダー情報にアクセスしません。ファイル自体からメタデータを抽出します。そしてidxファイルはTikaによって処理されないので、内部の情報を読み取ることはできません(単純なtxtファイルのため、docやpdfなどのメタデータは含まれません)。 – YMomb