我想使用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