这里我的 Web 应用程序的主要功能是上传 .zip 文件并将其存储在服务器端,但在此之前我需要执行以下任务: 1.) .zip 文件包含 xml 文件,我必须先验证xml 文件使用架构。2.) 如果 xml 文件有效,我需要将 xml 文件的内容转换为字符串,而不需要从输入流中解压缩文件。
我成功地验证了 xml 文件,但是在从输入流转换字符串时出现以下异常: “java.io.EOFException: Unexpected end of ZLIB input stream”
我已经尝试了 Stack Overflow 和其他论坛站点中提供的所有解决方案,但我还没有成功。任何帮助将不胜感激:
以下是代码:
try
{
ZipFile zipFileUtil = new ZipFile(zipFile);
Enumeration<? extends ZipEntry> zipFileContents = zipFileUtil.entries();
while(zipFileContents.hasMoreElements())
{
ZipEntry zipEntry = zipFileContents.nextElement();
if(zipEntry.getName().equals("File.xml"))
{
InputStream sourceFile = zipFileUtil.getInputStream(zipEntry);
if(isValidAsPerXSD(sourceFile))
{
//At this line Exception is Generated
String xmlContent = IOUtils.toString(sourceFile);
}
}
}
}
catch(Throwable t)
{
System.out.println("Exception: "+t.getMessage());
}