package be.nikiroo.fanfix.output;
+import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
-import java.net.URL;
+import java.io.OutputStreamWriter;
import be.nikiroo.fanfix.Instance;
import be.nikiroo.fanfix.bundles.StringId;
import be.nikiroo.fanfix.data.Chapter;
import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.data.Paragraph;
-import be.nikiroo.fanfix.data.Story;
import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
+import be.nikiroo.fanfix.data.Story;
class Text extends BasicOutput {
- protected FileWriter writer;
+ protected BufferedWriter writer;
protected File targetDir;
+ private boolean nextParaIsCover = true;
@Override
public File process(Story story, File targetDir, String targetName)
throws IOException {
String targetNameOrig = targetName;
- targetName += getDefaultExtension();
+ targetName += getDefaultExtension(false);
this.targetDir = targetDir;
File target = new File(targetDir, targetName);
- writer = new FileWriter(target);
+ writer = new BufferedWriter(new OutputStreamWriter(
+ new FileOutputStream(target), "UTF-8"));
try {
super.process(story, targetDir, targetNameOrig);
} finally {
}
@Override
- public String getDefaultExtension() {
+ public String getDefaultExtension(boolean readerTarget) {
return ".txt";
}
protected void writeParagraphHeader(Paragraph para) throws IOException {
if (para.getType() == ParagraphType.IMAGE) {
File file = new File(targetDir, getCurrentImageBestName(true));
- Instance.getCache().saveAsImage(new URL(para.getContent()), file);
+ Instance.getCache().saveAsImage(para.getContentImage(), file,
+ nextParaIsCover);
}
+
+ nextParaIsCover = false;
}
@Override