我想使用java中的Apache POI从URL中读取excel文件。我用这样的代码:使用POI从URL中读取excel文件
String urlStr = "<url>";
URL url = new URL(urlStr);
URLConnection uc = url.openConnection();
HSSFWorkbook wb = new HSSFWorkbook(uc.getInputStream())
这是给我的异常:java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 bytes
任何想法,为什么发生这种情况?我在将URL转换为流时做错了什么?
我已经将excel下载到本地磁盘,并使用FileInputStream
创建POI对象,它工作正常。因此我认为excel没有问题。阅读URL流的代码应该有些问题。
我不确定,但我怀疑'url.openConnection()'调用可能会延迟,这意味着它可能需要一段时间,直到你得到任何数据返回到输入流。 – posdef 2011-05-18 07:39:53
在这种情况下,我试着睡一段时间的线程,但我仍然得到相同的错误:( – Anoop 2011-05-18 08:24:11
我不知道这就是你想做的反正...应该有一个方法来检查连接是否建立了,我一直在阅读API,但在第一次转换时找不到任何东西,试着在'BufferedInputStream'中包装'InputStream'可能会有所帮助 – posdef 2011-05-18 08:34:51