2017-04-07 90 views
7

我正嘗試使用庫epublib讀取ePub文件的內容,並且此example表明這一點。閱讀ePub文件的內容時引發EOFException

對於我來說,爲什麼代碼不工作異常是從輸入流

// Load Book from inputStream 
Book book = (new EpubReader()).readEpub(epubInputStream); 

不知道裝的書的時候拋出的異常被拋出給我嗎?它已經爲StackOverflow的其他用戶工作。

完整的堆棧跟蹤如下共享:

W/System.err: java.io.EOFException 
W/System.err:  at libcore.io.Streams.readFully(Streams.java:83) 
W/System.err:  at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:235) 
W/System.err:  at nl.siegmann.epublib.epub.EpubReader.readResources(EpubReader.java:184) 
W/System.err:  at nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:94) 
W/System.err:  at nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:53) 
W/System.err:  at nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:37) 
W/System.err:  at com.blogspot.gsrikar.ePubViewerActivity.readEPubContents(ePubViewerActivity.java:102) 
W/System.err:  at com.blogspot.gsrikar.ePubViewerActivity.onCreate(ePubViewerActivity.java:88) 
W/System.err:  at android.app.Activity.performCreate(Activity.java:6904) 
W/System.err:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) 
W/System.err:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266) 
W/System.err:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
W/System.err:  at android.app.ActivityThread.-wrap17(ActivityThread.java) 
W/System.err:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:102) 
W/System.err:  at android.os.Looper.loop(Looper.java:148) 
W/System.err:  at android.app.ActivityThread.main(ActivityThread.java:7325) 
W/System.err:  at java.lang.reflect.Method.invoke(Native Method) 
W/System.err:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
W/System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
+2

你多試一個本書文件的更多?你確定你的epub文件格式正確(可讀)嗎?你使用了正確的名字嗎?文件是否存在?... –

+0

請檢查文件位置/目錄和文件擴展名。 – minhazur

+0

浪費100個獎勵點的信譽點並不是非常明智的做法,但是不能提供足夠的信息,而只是提供一行代碼。請提供帶有源代碼的[MCVE](http://stackoverflow.com/help/mcve),有關EPUB的下載鏈接以及其他可能有用的內容。幫助社區幫助你,否則你將得不到有意義的答案。 – kriegaex

回答

2

EOFException類拋出:

  • 如果在沒有數據,但你想讀..如讀取 鏈式流的方法,如DataInputStream,ObjectInputStream throw EOFException如果他們試圖從的FileInputStream 讀但FileInputStream中爲空或

  • 如果格式不匹配......例如,如果int是當前和您使用readFloat()DataInputStream類的