gpt4 book ai didi

java - 将 *.xml 文件从 zip 复制到另一个目录,而无需使用 java 解压 zip

转载 作者:行者123 更新时间:2023-12-02 07:44:55 24 4
gpt4 key购买 nike

大家好,

我是否有一堆 *.zip 文件,此文件中有很多 *.log 文件和其他内容以及一个 *.xml 文件。

我需要找到该文件并将其复制到另一个目录。

到目前为止我在 *.zip 文件夹中找到了该文件但现在我卡住了。希望各位能帮忙...谢谢

到目前为止我有以下代码:

public static void main(String[] args) 
{
String sPath = "c:/results/";
//String sFiles;
File folder = new File(sPath);
File[] aListOfFiles = folder.listFiles();

try
{
//get all files in the folder
for (int i = 0; i < aListOfFiles.length; i++)
{
if (aListOfFiles[i].isFile())
{
//get path an file name
String sZipPath = aListOfFiles[i].getAbsolutePath();
//System.out.println("Absolute Path: " + sZipPath);

//open zip find the xml
ZipFile sourceZipFile = new ZipFile(sZipPath);
Enumeration e = sourceZipFile.entries();

while(e.hasMoreElements())
{
ZipEntry entry = (ZipEntry)e.nextElement();
String isXML = entry.getName();

if (isXML.endsWith(".xml"))
{
System.out.println(isXML);
//copieFile(File isXML,)
}
}

}
}
}
catch (IOException ioe)
{
System.out.println("Error while opening zip file " + ioe);
}

最佳答案

不解压缩就无法复制。必须完成此操作,并且文件需要存储在内存中或保存到磁盘。

难怪你会被困在那里。

要提取文件,请使用:

InputStream stream = sourceZipFile.getInputStream(entry);

然后,您可以通过自己编写整个复制逻辑或使用IOUtils.copyInputStream复制到OutputStream,例如FileOutputStream .

关于java - 将 *.xml 文件从 zip 复制到另一个目录,而无需使用 java 解压 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031857/

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