秀才坤坤出品

一、epub格式电子书

相关材料和源码均在链接中可以下载:http://pan.baidu.com/s/1bnm8YXT

包括

1、JAVA项目工程test_epub,里面包括了jar包和一本epub电子书myBook.epub

2、epub相关jar包

3、电子书myBook.epub

epub格式这里就不仔细描述了,这里强调一点,epub格式是压缩格式,只需将后缀改为.zip或.rar,解压即可看到里面的文件内容。

二、JAVA解析.epub格式电子书,具体实现代码如下。写了一个简单helloWorld程序,加入了相应的jar包。

程序说明:

1、读取epub/myBook.epub文件。

2、修改metaData中的title

3、输出新的.epub文件到工程目录下。文件名mynewbook.epub

通过解压mynewbook.epub文件,可以看到toc.ncx文件中的<docTitle>和content.opf中的<dc:title>标签内容都进行了修改。

package com.hk;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;import nl.siegmann.epublib.domain.Book;
import nl.siegmann.epublib.epub.EpubReader;
import nl.siegmann.epublib.epub.EpubWriter;public class Test {public static void main(String[] args) {System.out.println("hello world");EpubReader epubReader = new EpubReader();//处理io流路径String currentPath = Thread.currentThread().getClass().getResource("/").toString();String epubPath = currentPath + "epub/myBook.epub";epubPath = epubPath.substring(6, epubPath.length());epubPath = epubPath.replace("/", "//");System.out.println(epubPath);//读epub文件Book book = null;try {InputStream inputStr = new FileInputStream(epubPath);book = epubReader.readEpub(inputStr);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}//设置epub文件内title.//本处修改了toc.ncx文件中的<docTitle>和content.opf中的<dc:title>标签内容.List<String> titlesList = new ArrayList<String>();titlesList.add("test book");book.getMetadata().setTitles(titlesList);//write epubEpubWriter epubWriter = new EpubWriter();try {OutputStream ouput = new FileOutputStream("mynewbook.epub");epubWriter.write(book, ouput);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}

如有不明白和写的不对的地方,敬请评论。

转载于:https://www.cnblogs.com/xckk/p/4598196.html

Java 解析epub格式电子书,helloWorld程序,附带源程序和相关jar包相关推荐

  1. JAVA通过epublib解析EPUB格式的电子书

    什么是 epub 格式 就像视频文件有 MP4,AVI,RMVB 等等一样!电子书也有很多种格式:一文看懂mobi,azw3,epub格式电子书 可以将 epub 格式的电子书更换后缀名,然后解压打开 ...

  2. android平台解析epub格式的书籍信息

    Android下解析epub格式书籍的相关资料不多,查了很久找出了一些相关资料,找到了一个epublib包, Epublib开发android的主页:http://www.siegmann.nl/ep ...

  3. java 解析日期格式_日期/时间格式/解析,Java 8样式

    java 解析日期格式 自Java 几乎 开始以来,Java开发人员就通过java.util.Date类(自JDK 1.0起)和java.util.Calendar类(自JDK 1.1起 )来处理日期 ...

  4. 怎么在电脑上打开epub格式电子书

    在电子书的分享群,经常有群友发问,如何打开epub格式的电子书.其实只需要在电脑上下载一款合适的阅读器解析文件就可以畅读电子书了.这时候你可能会陷入选择困难症,不知道如何挑选合适的阅读器来辅助阅读. ...

  5. java解析webp格式图片宽高;java解析webp图片转png格式

    java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...

  6. epub格式电子书剖析

    epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...

  7. epub格式电子书剖析之二:OP…

    原文地址:epub格式电子书剖析之二:OPF文件构成作者:数字出版初涉 OPF文档是epub电子书的核心文件,且是一个标准的XML文件,依据OPF规范,主要由五个部分组成: 1.<metadat ...

  8. epub格式电子书制作工具——ep…

    原文地址:epub格式电子书制作工具--epubmaker(测试版)作者:金更达 这是本人根据国际数字出版论坛(IDPF,http://www.idpf.org)推出的epub电子书规范开发的一款ep ...

  9. epub格式电子书剖析 .

    epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...

  10. epub格式电子书剖析之一:文档构成

    epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...

最新文章

  1. 携号转网:欢迎比阻挠更为有效
  2. vb操作excel图表_EXCEL的简单介绍(嗯,文本版的)
  3. java 监控usb端口插拔_如何监控某种类型的USB设备的插拔?
  4. 10.17 linux 文件权限
  5. 《JavaScript应用程序设计》一一2.17 回调函数
  6. OpenFOAM流固耦合问题-FsiFoam(foam-extend-4.0)运行tutorials的bug修复
  7. Java会话加密_shiro的认证、授权、会话、加密
  8. 4.linux 命令行 光标移动技巧
  9. 向Spring大佬低头——大量源码流出解析
  10. 计算机视觉之目标检测(object detection)《1》
  11. CARLA 笔记(07)— 地图和导航(Landmarks、Waypoints、Lanes、Junctions、Environment Objects、路径点导航、地图导航、分层和非分层地图)
  12. 用python抓取百万网易云热门评论[转载]
  13. 这是一篇系统的追热点方法论
  14. 以华为公司为例的我国业务流程管理实践研究
  15. python课程设计:公交线路查询系统
  16. 康托展开(hdu1430)
  17. 华为举办首届室内数字化产业合作论坛,与6家伙伴签署合作备忘录
  18. java微博开发_利用java语言在eclipse下实现在新浪微博开发平台发微博(转)
  19. 使用md5来实现文件去重
  20. electron环境下,在同一个前端vue界面切换展示不同的flash图片

热门文章

  1. DaZeng:Vue全家桶实现小米商城(二)
  2. 学计算机的要起一个群名,吸引人的学生群名字
  3. cURL 详解(附实例)
  4. 拷贝(添加)本地音乐到iPhone、iPad设备(最新iTunes12.7)
  5. 物联网智能家居与射频识别技术应用
  6. 微信群发可以分组吗?群组标签分组设置
  7. 【神操作】网络分线器短路导致公司网络瘫痪
  8. 手机无线如何共享给台式计算机,怎么把电脑网络共享给手机上网
  9. 数据模型及E-R模型
  10. 史上最全APP推广渠道,看看你最熟悉哪一种