Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/ApacheTika:如何从URL获取文件最后修改/创建的属性_Java_Apache_Http_Metadata_Apache Tika - Fatal编程技术网

Java/ApacheTika:如何从URL获取文件最后修改/创建的属性

Java/ApacheTika:如何从URL获取文件最后修改/创建的属性,java,apache,http,metadata,apache-tika,Java,Apache,Http,Metadata,Apache Tika,我想使用Java获取HTTP服务器上文件的上次修改时间和创建时间。该文件位于特定的URL。使用URLConnection和HttpURLConnection的方法会从HTTP头生成最后修改的属性,但这不是文件的实际创建日期 我一直在读那本书,那是图书馆的工作。然而,我还没有找到一个符合我要求的工作示例。最接近的例子也许是。但是当我运行那篇文章中给出的代码时,它不会产生最后修改的属性 我正在使用答案中给出的一种方法,我认为可能有效,但目前没有打印任何内容 Parser parser = new A

我想使用Java获取HTTP服务器上文件的上次修改时间和创建时间。该文件位于特定的URL。使用
URLConnection
HttpURLConnection
的方法会从HTTP头生成最后修改的属性,但这不是文件的实际创建日期

我一直在读那本书,那是图书馆的工作。然而,我还没有找到一个符合我要求的工作示例。最接近的例子也许是。但是当我运行那篇文章中给出的代码时,它不会产生最后修改的属性

我正在使用答案中给出的一种方法,我认为可能有效,但目前没有打印任何内容

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));

使用URLConnection下载文件时,HTTP头对Tika是隐藏的

Tika在这里可以读取的内容与您保存文件并在其上打开流时的内容相同

这意味着保存文件时将使用创建日期和上次修改日期(与使用操作系统浏览器[Windows资源管理器,nautilus…]可以看到的相同)


如果您需要读取该文件上的HTTP头,并且仅此而已,请不要使用Tika,而是直接使用
HTTPUrlConnection
或任何其他类似HTTP客户端的()或中建议的方法。

我在原始帖子中链接了最后一个答案。我想使用这个问题的作者给出的第一个例子,但是他的例子在我运行它时没有给出任何最后修改的属性。HTTP头似乎没有返回有关文件创建的正确信息,这就是我寻求使用Tika的原因。我想检索文件的元数据,如答案的第一个示例所示。但正如我所说,Tika不会访问您想要读取的HTTP头信息。它将从文件本身提取元数据。由于idx文件不是由Tika处理的,因此它无法读取其中的信息(更重要的是,它是一个简单的txt文件,因此它不包含文档或pdf之类的元数据)。