JAVA读取WORD,EXCEL,PDF,TXT,HTML文件文本内容的方法示例

word

package textReader;  
import java.io.*;  
import org.apache.poi.hwpf.extractor.WordExtractor;  
  
public class WordReader {  
    public WordReader(){  
    }  
    /** 
     * @param filePath 文件路径 
     * @return 读出的Word的内容 
     */  
    public String getTextFromWord(String filePath){  
        String result = null;  
        File file = new File(filePath);  
        try{  
            FileInputStream fis = new FileInputStream(file);  
            WordExtractor wordExtractor = new WordExtractor(fis);  
            result = wordExtractor.getText();  
        }catch(FileNotFoundException e){  
            e.printStackTrace();  
        }catch(IOException e){  
            e.printStackTrace();  
        };  
        return result;  
    }  
} 

Excel

package textReader;  
import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
import org.apache.poi.hssf.usermodel.HSSFSheet;  
import org.apache.poi.hssf.usermodel.HSSFRow;  
import org.apache.poi.hssf.usermodel.HSSFCell;  
  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
  
public class ExcelReader {  
  
@SuppressWarnings("deprecation")  
/** 
 * @param filePath 文件路径 
 * @return 读出的Excel的内容 
*/  
public String getTextFromExcel(String filePath) {  
    StringBuffer buff = new StringBuffer();  
    try {  
    //创建对Excel工作簿文件的引用  
    HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));  
    //创建对工作表的引用。          
    for (int numSheets = 0; numSheets < wb.getNumberOfSheets();   
        numSheets++) {  
        if (null != wb.getSheetAt(numSheets)) {  
            HSSFSheet aSheet = wb.getSheetAt(numSheets);  
                       &nbsp;for (int rowNumOfSheet = 0; rowNumOfSheet <=   
                             aSheet.getLastRowNum(); rowNumOfSheet++) {  
                if (null != aSheet.getRow(rowNumOfSheet)) {  
                HSSFRow aRow = aSheet.getRow(rowNumOfSheet);                              
                for (int cellNumOfRow = 0; cellNumOfRow <=   
                        aRow.getLastCellNum(); cellNumOfRow++) {  
                    if (null != aRow.getCell(cellNumOfRow)) {  
                    HSSFCell aCell = aRow.getCell(cellNumOfRow);                                      
                    switch(aCell.getCellType()){  
                    case HSSFCell.CELL_TYPE_FORMULA:  
                            break;   
                    case HSSFCell.CELL_TYPE_NUMERIC:  
                            buff.append(aCell.getNumericCellValue()).append('\t');  
                                                break;  
                    case HSSFCell.CELL_TYPE_STRING:  
                            buff.append(aCell.getStringCellValue()).append('\t');  
                                                break;                                                                
                    }                         
                    }                                                                                  
                    }  
                    buff.append('\n');  
                    }  
                }                                        
        }             
        }  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        return buff.toString();  
    }              
}

PDF

package textReader;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
  
import org.pdfbox.pdfparser.PDFParser;  
import org.pdfbox.pdmodel.PDDocument;  
import org.pdfbox.util.PDFTextStripper;  
  
  
public class PdfReader {  
    public PdfReader(){  
    }  
    /** 
     * @param filePath 文件路径 
     * @return 读出的pdf的内容 
     */  
    public String getTextFromPdf(String filePath) {  
        String result = null;  
        FileInputStream is = null;  
        PDDocument document = null;  
        try {  
            is = new FileInputStream(filePath);  
            PDFParser parser = new PDFParser(is);  
            parser.parse();  
            document = parser.getPDDocument();  
            PDFTextStripper stripper = new PDFTextStripper();  
            result = stripper.getText(document);  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            if (is != null) {  
                try {is.close();}catch(IOException e){e.printStackTrace();}  
            }  
            if (document != null) {  
                try{document.close();}catch (IOException e){e.printStackTrace();}  
            }  
        }  
        return result;  
    }  
  
}  

TXT

package textReader;  
import java.io.*;  
  
  
public class TxtReader {  
    public TxtReader() {          
    }  
    /** 
     * @param filePath 文件路径 
     * @return 读出的txt的内容 
     */  
    public String getTextFromTxt(String filePath) throws Exception {  
          
        FileReader fr = new FileReader(filePath);  
        BufferedReader br = new BufferedReader(fr);  
        StringBuffer buff = new StringBuffer();  
        String temp = null;  
        while((temp = br.readLine()) != null){  
            buff.append(temp + "\r\n");  
        }  
        br.close();       
        return buff.toString();       
    }  
}  

HTML

package textReader;  
import java.io.*;  
  
public class HtmlReader {  
    public HtmlReader() {  
    }  
    /** 
     * @param filePath 文件路径 
     * @return 获得html的全部内容 
     */  
    public String readHtml(String filePath) {  
        BufferedReader br=null;  
        StringBuffer sb = new  StringBuffer();  
        try {  
            br=new BufferedReader(new InputStreamReader(  
                                     new FileInputStream(filePath),  "GB2312"));              
            String temp=null;         
            while((temp=br.readLine())!=null){  
                sb.append(temp);  
            }             
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        return sb.toString();  
    }  
    /** 
     * @param filePath 文件路径 
     * @return 获得的html文本内容 
     */  
    public String getTextFromHtml(String filePath) {  
        //得到body标签中的内容  
        String str= readHtml(filePath);  
        StringBuffer buff = new StringBuffer();  
        int maxindex = str.length() - 1;  
        int begin = 0;  
        int end;              
        //截取>和<之间的内容  
        while((begin = str.indexOf('>',begin)) < maxindex){             
            end = str.indexOf('<',begin);  
            if(end - begin > 1){  
                buff.append(str.substring(++begin, end));                 
            }             
            begin = end+1;  
        };        
        return buff.toString();  
    }  
  
}  

转载地址:https://www.iteye.com/blog/emily2ly-742767

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值