【发布时间】:2018-03-13 11:28:36
【问题描述】:
这似乎是一件非常愚蠢的事情,但我看不出我做错了什么。 我有一个包含多个 zip 文件的文件夹。每个 zip 文件至少包含一个名为 sometingXYZsomething 的文件。我想在不解压缩每个 zip 的情况下读取每个文件 sometingXYZsomething,所以,让我们说。 我的代码是:
try (Stream<Path> paths = Files.walk(Paths.get(FOLDER_NAME)))
{
paths
.filter(p -> p.toString().contains("XYZ"))
.forEach(p -> readFileXYZ(Paths.get(p.getName())));
}
catch (IOException e)
{
e.printStackTrace();
}
还有
private static void readFileXYZ(Path pathFile)
{
try {
Files.lines(pathFile).forEach(System.out::println);
} catch (IOException ex)
{
ex.printStackTrace();
}
}
测试文件夹有一个 zip,其中包含一个 txt 文档 testFileXYZ.txt,我得到了这个异常
java.nio.file.NoSuchFileException: testFileXYZ.txt
testFileXYZ.txt
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
如何在不解压的情况下获取 zip 中的 txt 文件流?
【问题讨论】:
-
没错,这是一个额外的步骤。我更新代码