我需要获取 java 资源的最后修改时间。当我使用
url.openConnection().getLastModified()
它返回整个 jar 的最后修改时间(内部所有项目都相同),但我需要特定文件的修改时间。信息就在那里(当我以 zip 格式打开 jar 时,我会在特定文件中看到正确的时间)。有人知道如何访问它吗?
谢谢
我需要获取 java 资源的最后修改时间。当我使用
url.openConnection().getLastModified()
它返回整个 jar 的最后修改时间(内部所有项目都相同),但我需要特定文件的修改时间。信息就在那里(当我以 zip 格式打开 jar 时,我会在特定文件中看到正确的时间)。有人知道如何访问它吗?
谢谢
尝试类似:
try (FileSystems jarFS = FileSystems.newFileSystem(URI.create("jar:" + jarURI), Collections.<String, Object>emptyMap())){
Path resourcePath = jarFS.getPath(resourcePathString);
FileTime fileTime = Files.getLastModifiedTime(resourcePath);
}
我还使用 NIO 文件 API 编写了一些实用程序方法来处理 Jar 文件:
该库是开源的。
马文:
<dependency>
<groupId>org.softsmithy.lib</groupId>
<artifactId>softsmithy-lib-core</artifactId>
<version>0.2</version>
</dependency>