Sri*_*ddy 7 android epub epublib
我正在尝试使用库epublib读取ePub文件的内容,此示例演示了这一点.
对我来说,从输入流加载书籍时会抛出异常
// Load Book from inputStream
Book book = (new EpubReader()).readEpub(epubInputStream);
Run Code Online (Sandbox Code Playgroud)
不确定为什么代码不能正常工作并且抛出了异常?它适用于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)
Run Code Online (Sandbox Code Playgroud)
抛出EOFException :
如果流中没有数据但您正在尝试读取..例如,如果 DataInputStream、ObjectInputStream 等链式流的读取方法尝试从 FileInputStream 读取但 FileInputStream 为空,则抛出EOFException
如果格式不匹配...例如,如果存在 int 并且您正在使用 DataInputStream 的 readFloat()