Я сейчас работаю для чтения электронных книг, написанных на Java. Основной тип файла - fb2
, который является типом на основе XML.Получение изображения из файла fb2 в Java
Изображения внутри этих книг, хранящихся внутри <binary>
теги в виде длинной текстовой строки (по крайней мере, это выглядит как текст в текстовых редакторах).
Как преобразовать этот текст в фактические изображения на Java? Для работы с XML я использую библиотеку JDOM2.
То, что я пытался не производит действительных изображений (JPEG-файлы):
private void saveCover(Object book) {
// Necessary cast to process with book
Document doc = (Document) book;
// Document root and namespace
Element root = doc.getRootElement();
Namespace ns = root.getNamespace();
Element binaryEl = root.getChild("binary", ns);
String binaryText = binaryEl.getText();
File cover = new File(tempFolderPath + "cover.jpeg");
try (
FileOutputStream fileOut = new FileOutputStream(cover);
BufferedOutputStream bufferOut = new BufferedOutputStream(
fileOut);) {
bufferOut.write(binaryText.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
Это работает как шарм! Спасибо! – Tol182