);
}
@Override
public Document readDocument(String lang1, String lang2, File file) throws IOException {
Document document = new Document();
try {
Fb2Text parser = new Fb2Text();
parser.parse(file);
String text = parser.getText();
if (text != null) {
int size = text.length();
String[] lines = text.split("\n");
int currentSymbol = 0;
for (String line : lines) {
Paragraph paragraph = new Paragraph();
for (String word : line.split(" ")) {
if (isUserCancelled()) {
throw new IllegalStateException("Loading cancelled");
}
if (word != null) {
Word translate = getTranslator().translate(lang1, lang2, word);
paragraph.getWords().add(translate);
paragraph.getWords().add(Word.SPACE);
}
}
fireChangeCurrent(file, currentSymbol = currentSymbol + line.length() + 1, size, "");
document.getParagraphs().add(paragraph);
}
}
return document;
} catch (SAXException e) {
throw new IOException(e);