kindle 4 简易电子书格式转换(txt转mobi)

题记

      上回通过Mobipocket Creator把pdf转化为mobi,效果还可以。那个pdf原本的目录结果就很清晰,所以转化后的效果还可以,但由于pdf是无法修改的。一旦pdf的结构复杂了,转化的效果很差。我更喜欢将txt转化为mobi格式。txt原本就可以修改,可以写点小代码把txt稍微处理下。这样转化后的效果就很好。

感谢:http://www.autohotkey.net/~linpinger/index.html?s=Atc_Txt2Mobi 提供的工具!

本文最终生成的电子书下载地址:送你一颗子弹.mobi

前提准备:软件工具AnsiTxt2Mobi.exe 。

第1步:

写点小代码,将之前txt文本中的标题改为类似于 "第1章 xxx"这种格式。比如,我现在处理的这个文本就是简单的一个标题。我写了点代码,如下:

public class TxtProcess {
	
	private String sourceFile = "";
	private String destFile = "";
	
	public void initFilePath(String sour, String dest){
		this.sourceFile = sour;
		this.destFile = dest;
	}
	
	public void process(){
		int i=0,j=0;
		String[] titles = new String[200];
		boolean getTitles = false,start = false; 
		String line = "";
		
		BufferedReader br= null;
		FileWriter fw = null;
		
		try{
			br = new BufferedReader(new FileReader(new File(sourceFile)));
			fw = new FileWriter(destFile);
			while(br.ready()){
				line = br.readLine();
				
				//先得到标题
				if(!getTitles){
					if(line.trim().equals("封面")){
						start = true;
						continue;
					}
					
					if(line.trim().equals("后记")){
						getTitles = true;
						continue;
					}
					
					if(start){
						titles[i++]=line.trim();
					}
				}else{
					//把正文部分的标题改掉
					if(j<i && line.trim().equals(titles[j])){
						j++;
						fw.write("第"+j+"章   "+line+"\r\n");
					}else{
						fw.write(line+"\r\n");
					}
				}				
			}
			fw.close();
			br.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TxtProcess tp = new TxtProcess();
		tp.initFilePath("resource\\in.txt", "resource\\out.txt");
		tp.process();
	}
处理后的结果还是一个文本。

注意,上头的文本只适用于ansi格式的txt。如果拖入上述工具中,发现无法显示出章节,那很有可能是格式问题。可以打开txt,另存为。。。然后将"编码"改为"ASNI",保存即可!

第2步

将上述生成好的txt文件拖入该工具中,点击生成mobi,即可!

kindle 4 简易电子书格式转换(txt转mobi)_第1张图片

效果如下图所示:

kindle 4 简易电子书格式转换(txt转mobi)_第2张图片

你可能感兴趣的:(exception,String,File,Class,工具)