小说按章节切割

 public void cut(String srcFilePath,String dstDir,String code){
	        BufferedReader br=null;
	        BufferedWriter bw=null;
	        try {
	             br=new BufferedReader(new InputStreamReader(new FileInputStream(srcFilePath),code));  
	            String tempString=null;
	            StringBuffer sb=new StringBuffer();
	            Pattern p=Pattern.compile("第.*章");
	            Matcher m=null;
	            Integer index=0;
	            int i=0;
	            File file;
	            while((tempString=br.readLine())!=null){
	                tempString+="\r\n";
	                sb.append(tempString);
	            }
	            m=p.matcher(sb);
	            while(m.find()){
	            	 i++;
	                file=new File(dstDir + File.separator + i +".txt");
	                bw=new BufferedWriter(new FileWriter(file));
	                int start = m.start();
	                if(m.find()){
	                    index=m.start();
	                    bw.write(sb.toString(),start, index-start);
	                    bw.flush();
	                    m.region(index,sb.length());
	                }else{
	                    bw.write(sb.toString(),start, sb.length()-start);
	                }
	            }
	        } catch (FileNotFoundException e) {
	            // TODO Auto-generated catch block
	            e.printStackTrace();
	        }
	        catch(IOException ie){
	            ie.printStackTrace();
	        }
	        finally{
	            try {
	                if(br!=null){
	                    br.close();
	                }
	                if(bw!=null){
	                    bw.close();
	                }
	            } catch (IOException e) {
	                // TODO Auto-generated catch block
	                e.printStackTrace();
	            }
	        }
	        System.out.println("========END=======");
	    }


转载于:https://my.oschina.net/alanfans/blog/523939

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值