我正在使用 commons-compress 处理 tarball 文件,并注意到即使不是 tar 的文件似乎也被处理了。为什么会这样——是否有更好的库来检测有效的 tar 文件
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.20</version>
</dependency>
bug689.csv
是一个 CSV 文件,测试失败是因为 te.isFile() 显然返回 true。te.getName() 似乎返回了 CSV 的内容。这是我错误地使用包的错误吗 - 我希望 InputStream 不能成功转换为 TarArchiveEntry
@Test
public void testTarball() throws IOException{
InputStream tarData = this.getClass().getResourceAsStream("/bug689.csv");
TarArchiveInputStream tis = new TarArchiveInputStream(tarData);
TarArchiveEntry te = tis.getNextTarEntry();
assertFalse(te.isFile());
}