package nl.siegmann.epublib.epub;
import nl.siegmann.epublib.domain.Book;
import nl.siegmann.epublib.domain.Resource;
import javax.imageio.stream.FileImageOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
//存储没有封面的书
List<String> bookBroken= new ArrayList<>();
String title = null;
String basePath="XXX";
String[] list=new File(basePath).list();
int mun=0;
for(String i:list){
System.out.println("读取路径:"+basePath+i);
try {
title=chuli(basePath+i);
} catch (NullPointerException |IOException e) {
e.printStackTrace();
bookBroken.add(title);
continue;
}
mun++;
System.out.println("转换第"+i+"本");
}
System.out.println(mun);
System.out.println("没有封面的书有"+bookBroken.size()+"本,分别是:"+bookBroken.toString());
}
private static String chuli(String path)throws IOException{
EpubReader reader=new EpubReader();
//Book book = reader.readEpub(new FileInputStream("XXX"));
Book book = reader.readEpub(new FileInputStream(path));
//书名
String title = book.getTitle();
System.out.println(title);
//封面
Resource resource = book.getCoverImage();
byte[] p = resource.getData();
//将图片输出
String newFilename="XXX:\\"+title+".jpg";
FileImageOutputStream imgout=new FileImageOutputStream(new File(newFilename));
imgout.write(p,0,p.length);
imgout.close();
return title;
}
}
这是个片段 可以下载我的资源里面有安装包