简单的小说分章器

思路

想用小说作为打字练习的文章,就试着写了这个简单练习,检测字符是否为“第#章”,是的话就进行切割,因为字节流老是出错,就换了字符流,效果还不错。

一个缺陷:文章内容中出现“第#章”字眼时会识别出错。

代码

import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;

public class cutUpLong {
	
	public static void main(String[] args) throws Exception {
		
		//1.创建IO对象,获取主文件
		int suffix = 1;//后缀
		Reader in = new FileReader("F:\\temp\\Dragoncopy\\Dragon.txt");
		Writer out = new FileWriter("F:\\temp\\Dragoncopy\\Dragon"+suffix+".txt");
		
		//2.切割导出为小块
		int b = 0;
		while((b=in.read()) != -1){
			//双重检测可以较好的提高效率并且保证安全
			if(b == 31532){//第一次检测,检测字符是否为关键字“第”
				int b1 = in.read();int b2 = in.read();int b3 = in.read();int b4 = in.read();int b5 = in.read();int b6 = in.read();int b7 = in.read();int b8 = in.read();
				if(b2 == 31456 || b3 == 31456 || b4 == 31456 || b5==31456 || b6==31456 || b7==31456 || b8==31456 ){
					//第二次检测,检测后面字符中是否有关键字“章”
					out.close();
					suffix++;
					out = new FileWriter("F:\\temp\\Dragoncopy\\Dragon"+suffix+".txt");//为切分后的小章节添加后缀
					out.write(b);out.write(b1);out.write(b2);out.write(b3);out.write(b4);out.write(b5);out.write(b6);out.write(b7);out.write(b8);
				}else{
					out.write(b1);out.write(b2);out.write(b3);out.write(b4);out.write(b5);out.write(b6);out.write(b7);out.write(b8);
				}
			}else{
				out.write(b);
			}
			
		}
				
		//3.释放资源
		in.close();
		out.close();
	}
	
	
}

效果分章后的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值