它给了我错误:
org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long)
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:218)
at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:168)
at Parser.xlsToXml(Parser.java:43)
at Parser.<init>(Parser.java:28)
你可以看到我使用java poi lib来解析xls。
这是发生错误的代码的一部分:
Biff8EncryptionKey.setCurrentUserPassword(params.get("pass"));
NPOIFSFileSystem fs = new NPOIFSFileSystem(new File(params.get("xls_location")), true);//string 43!!!
在我尝试访问这个xls文件之前,我已成功获取应用程序的params来自位于服务器上同一文件夹中的文本文件,因为xls文件使用此代码:
encoded = Files.readAllBytes(Paths.get(dir+fileName));
return new String(encoded,getFileCharset(dir+fileName));
所以我的意思是我拥有在目录中阅读和写作的所有权利。
我试图谷歌这个,但没有找到任何可能有用的东西。我真的被困在这里了。服务器上的文件夹与我的win xp上的文件夹相同,并赢得7台家用电脑。我总是在所有机器上使用相同的xls文件。
所以我做错了什么?..
任何有用的帮助!