gpt4 book ai didi

java - 带有路径的 FileInputStream 包含通配符

转载 作者:行者123 更新时间:2023-12-04 06:42:09 25 4
gpt4 key购买 nike

我从数据库中获取某些文件的完整路径,然后将这些文件压缩到该路径中。所以这里的问题是路径包含通配符,即使是目录和文件也是如此。
例如:

/myfolder/product/test/*.xml
or
/myfolder/*/*.xml

那么我怎样才能让那些 xml 文件驻留在文件输入流的路径下以便稍后压缩它们呢?

如果我没有通配符并且只有路径代表文件所在的目录,我会执行以下操作来添加每个文件。但问题是我的路径包含带有通配符的文件名。
     //List of the files in the directry
File f = new File("/folder");
String files[] = f.list();
BufferedInputStream in = null;

for(int i =0;i<files.length;i++){
in = new BufferedInputStream(new FileInputStream("/folder/"+files[i]), 1000);
out.putNextEntry(new ZipEntry("somepath/"+files[i]));
int count;

while ((count = in.read(data, 0, 1000)) != -1) {
out.write(data, 0, count);
}
}

谢谢你。

最佳答案

通配符通常由 shell 解释。您可以使用 java.nio.file.FileSystem.getPathMatcher() 在 Java 中做类似的事情。 .见 this tutorial有关更多信息和使用示例。

关于java - 带有路径的 FileInputStream 包含通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com