Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java epublib有时无法读取文件_Java_Android_Epublib - Fatal编程技术网

Java epublib有时无法读取文件

Java epublib有时无法读取文件,java,android,epublib,Java,Android,Epublib,你好! 我需要从epub文件中提取资源,并用于此ebublib。它可以很好地处理很多文件,但有时会出现NullPointerException. 这是我的代码: InputStream bookInputStream=newbufferedinputstream(newfileinputstream(bookFile)); Book Book=新建EpubReader().readEpub(bookInputStream); 集合clrst=book.getResources().getAll(

你好!

我需要从
epub文件
中提取资源,并用于此
ebublib
。它可以很好地处理很多文件,但有时会出现
NullPointerException.

这是我的代码:

InputStream bookInputStream=newbufferedinputstream(newfileinputstream(bookFile));
Book Book=新建EpubReader().readEpub(bookInputStream);
集合clrst=book.getResources().getAll();
int all=clrst.size();
int curr=0;
用于(资源rs:clrst){
Log.d(标记,++curr+“/”+all+“|”+rs.getSize());
builder.setProgress(全部、当前、错误);
notificationManager.notify(1,builder.build());
File oppath1=新文件(directory+File.separator+rs.getHref());
oppath1.getParentFile().mkdirs();
oppath1.createNewFile();
FileOutputStream fos1=新的FileOutputStream(oppath1);
fos1.write(rs.getData());
fos1.close();
}
还有stacktrace:

10-12 11:23:29.668 24731-25088/ru.intuit.nou I/AndroidLoggerFactory﹕ 记录器名称“nl.siegmann.epublib.epub.EpubProcessorSupport”超过了23个字符的最大长度,改为使用“n*.s*.e*.e*.e*.EpubProces*”。10-12 11:23:29.684 24731-25088/ru.intuit.nou I/AndroidLoggerFactory﹕ 记录器名称“nl.siegmann.epublib.epub.PackageDocumentReader”超过最大长度23个字符,改为使用“n*.s*.e*.e*.PackageDoc*”。10-12 11:23:29.692 24731-25088/ru.intuit.nou E/n*.s*.E*.E*.E*.EpubReader﹕ 无效的
java.lang.NullPointerException
位于nl.siegmann.epublib.epub.PackageDocumentReader.read(PackageDocumentReader.java:51)
位于nl.siegmann.epublib.epub.EpubReader.processPackageResource(EpubReader.java:119)
位于nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:97)
位于nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:53)
位于nl.siegmann.epublib.epub.EpubReader.readEpub(EpubReader.java:37)
位于ru.intuit.nou.fragments.CourseInfoFragment$DownloadTask.downloadResources(CourseInfoFragment.java:1269)
位于ru.intuit.nou.fragments.CourseInfoFragment$DownloadTask.doInBackground(CourseInfoFragment.java:1140)
位于ru.intuit.nou.fragments.CourseInfoFragment$DownloadTask.doInBackground(CourseInfoFragment.java:1047)
在android.os.AsyncTask$2.call(AsyncTask.java:287)
在java.util.concurrent.FutureTask.run(FutureTask.java:234)处
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
在java.lang.Thread.run(Thread.java:856)10-12 11:23:29.692 24731-25088/ru.intuit.nou I/AndroidLoggerFactory﹕ 记录器名称“nl.siegmann.epublib.epub.NCXDocument”超过了23个字符的最大长度,改为使用“n*.s*.e*.e*.NCXDocument”。10-12 11:23:29.692 24731-25088/ru.intuit.nou E/n*.s*.E*.E*.NCXDocument﹕ 该书不包含目录文件
我不知道为什么它不能与一些epub文件一起工作,如果有任何帮助,我将非常高兴。提前谢谢