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

一、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 epub
		EpubWriter epubWriter = new EpubWriter();
		try {
			OutputStream ouput = new FileOutputStream("mynewbook.epub");
			epubWriter.write(book, ouput);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

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

时间: 2024-10-29 16:28:47

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

PDF转EPUB格式电子书经验总结

原文发表自我的个人主页http://purplesword.info/pdf-to-epub,欢迎大家访问,谢谢支持~ 根据本人将PDF转换为EPUB电子书的经验,总结整理了这篇文章,因本人水平有限,难免有错误和不足之处,望大家及时批评指正. 写这篇文章时,假定读者已经会使用文中所列出软件的基本操作,比如怎样用Notepad++打开HTML文件,如何使用PDF Password Remover(这个软件很简单,稍有电脑操作基础的人打开后就知道怎么做).另外读者需要对ePubBuilder的操作比

MVC模式下基于SSH三大框架的java web项目excel表格的导出(不依赖另外的jar包)

最近工作中碰到了需要将web页面的表格内容导出到excel表格并下载到本地的需求.以下是在利用网上资源.与同事探讨下,完成的代码. 首先我们需要有定义好的实体类.以下是截取了项目中用到的部分代码. 1 public class QyggDocuments implements java.io.Serializable { 2 3 private static final long serialVersionUID = -2543382529255041149L; 4 5 private Stri

java 解析json格式数据(转)

2012-07-30 16:43:54|  分类: java |  标签:java  json  |举报|字号 订阅 有时候我们可能会用到json格式的数据进行数据的传输,那么我们怎么把接收到的数据解析出来呢?   下面有两种方法: 1.通过谷歌的Gson来进行解析: json数据:sTotalString = {"message":"success","result":[{"surveyid":"1",&

eclipse导出附带源码的jar包

最近在搞Andengine游戏开发,发现andengine的jar包可以直接点击查看源码,而其他项目的jar包却看不了,因此自己研究了下如何生成可以直接查看源码的jar包. 1.eclipse中点击项目src目录点击右键,选择import... 2.选择jar file 3.勾选图中勾选的文字区域 ============================================== 最后奉上效果图: 点击打好的jar包,查看BaseAudioEntity.class的源码 总结: 这种打

java解析vcf格式文件导入导出

package com.yfli.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import j

Java解析XML格式串(JDOM解析)

import java.io.IOException; import java.io.StringReader; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.Namespace; import org.jdom.input.SAXBuilder; import org.xml.sax.InputSou

java解析Xml格式的字符串

最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回, 才得以接收到这个xml的字符串,然后通过dom4j来解析这个xml字符串.xml格式如图: 解析代码如下: /** * dom4j解析Xml * @param xml */ public void getXmlAttribute(String xml) { Document doc = null; try { // 将字符串转为XML doc =

java解析密钥格式

import java.io.StringReader; import org.bouncycastle.asn1.ASN1Sequence; import org.bouncycastle.asn1.DERBitString; import org.bouncycastle.asn1.DEREncodable; import org.bouncycastle.asn1.DERObjectIdentifier; import org.bouncycastle.asn1.DEROctetStrin

eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 next 3.选择maven-archetype-quitstart,然后next 4.填入工程信息,然后finish 6.新建好的工程结构如图 7.将test下和java下自动生成的java类删除,右键build-path选择好jdk版本,整个工程就建好了. 二.配置log4j 1.将工程目录调整成下图