/** * @file TxtPlugin.java * * @revision: none * * @version 0.0.01 * @author: Zenki (zhajun), zenki2001cn@163.com * @date: 2011-6-20 上午09:30:28 */ package org.geometerplus.fbreader.formats.txt; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import org.geometerplus.fbreader.bookmodel.BookModel; import org.geometerplus.fbreader.library.Book; import org.geometerplus.fbreader.formats.FormatPlugin; import org.geometerplus.fbreader.formats.PluginCollection; import org.geometerplus.zlibrary.core.filesystem.ZLFile; import org.geometerplus.zlibrary.core.image.ZLImage; import com.easyview.ebook.reader.engine.util.Logger; import com.easyview.ebook.reader.engine.util.charsetcodec.CharsetDetectorProxy; import android.util.Log; public class TxtPlugin extends FormatPlugin { static private final String TAG = "TxtPlugin"; @Override public boolean acceptsFile(ZLFile file) { return "txt".equals(file.getExtension()); } @Override public boolean readMetaInfo(Book book) { ZLFile zlFile = book.File; InputStream is = null; try { is = zlFile.getInputStream(); } catch (IOException e) { e.printStackTrace(); } if (null == is) { Logger.eLog(TAG, "zlFile inputstream == null"); return false; } return true; } @Override public boolean readModel(BookModel model) { Book book = model.Book; InputStream is = null; try { is = book.File.getInputStream(); } catch (IOException e) { e.printStackTrace(); } if (null == is) { return false; } guessEncodingAndLanguage(book, is); return new TxtBookReader(model).readDocument(is); } @Override public ZLImage readCover(ZLFile file) { return null; } @Override public String readAnnotation(ZLFile file) { return null; } }