为我家大宝贝写的提取word里例题的程序

情景是这样的,我家大宝贝备考cpa,有很多word文档,她想把很多文档中的例题全部提取出来,然后生成另一个文档。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;






import java.io.PrintStream;


import org.apache.poi.hwpf.extractor.WordExtractor;










public class MyBigHoney {


public static void main(String[] args) throws FileNotFoundException {

for (int x=1;x<=12;x++){

String text = "";  

   File file = new File("C:/BigHoney/00"+x+".doc");  
   //2003  
   if(file.getName().endsWith(".doc")){  
       try {  
           FileInputStream stream = new FileInputStream(file);  
           WordExtractor word = new WordExtractor(stream);  
           text = word.getText();  
        
        
           stream.close();  
       } catch (Exception e) {  
           e.printStackTrace();  
       }  
 
   }
 
//   System.out.println(text);
      char[] liti= text.toCharArray();//存放例题的数组
      
      char[] daan= text.toCharArray();//存放例题的数组
      
      
      int[]   daanbre= new int [100000];
      int[]   daanaft= new int [100000];//答案的后标
         
      int[]   litibre= new int [100000];//例题的前标
      int[]   litiaft= new int [100000];
      int bb = 0;
      int af = 0;
      
      int cc=0;
      int dd=0;
      
      
      
      for(int i=0;i<daan.length;i++){
 if(daan[i]=='【'&&daan[i+1]=='答'&&daan[i+2]=='案'){
 daanbre[cc]=i;
cc=cc+1;
for(int j=i;j<i+10;j++){
if(liti[j]=='】'){
daanaft[dd] = j;
dd=dd+1;
break;
}
}

 }
}
      
      
     ///
      for(int i=0;i<liti.length;i++){
 if(liti[i]=='【'&&liti[i+1]=='例'&&liti[i+2]=='题'){
 litibre[bb]=i;
bb=bb+1;
for(int j=i;j<i+10;j++){
if(liti[j]=='】'){
litiaft[af] = j;
af=af+1;
break;
}
}

 }
}
      
      String result = "";
  FileOutputStream out = new FileOutputStream("C:/BigHoney/第00"+x+"章例题.doc");

PrintStream ps = new PrintStream(out);
for(int a=0;a<=litibre.length;a++){
if(litibre[a]!=0&&daanaft[a]!=0)

ps.print( text.substring(litibre[a], daanaft[a]+4));

// System.out.println(text.substring(litibre[a], daanaft[a]+4));
else
break;
}
System.out.println(result);
  
   



}
}

}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值