這裏我的web應用程序的主要功能是上傳.zip文件並將其存儲在服務器端,但在此之前我需要執行以下任務: 1.).zip文件包含xml文件,我必須首先使用模式驗證xml文件。 2.)如果xml文件有效,比我需要將xml文件的內容轉換爲字符串而不解壓縮文件即輸入流。將inputStream從ZipFile轉換爲字符串
我在驗證XML文件全成,但我得到以下異常,而從InputStream轉換的字符串: :
我有「java.io.EOFException的ZLIB輸入流意外結束」嘗試了堆棧溢出和其他論壇網站提供的所有解決方案,但我還沒有成功。任何幫助將是非常讚賞:
以下是代碼:
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());
}
「將xml文件的內容轉換爲字符串而不解壓文件」是毫無意義的。在解壓輸入之前,沒有XML文件。請再試一次。 – EJP