使用tika解析各种类型的文本文件

1. 导入tika-app-1.5.jar

https://tika.apache.org/download.html


2.1 
方法1:

import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;


public String fileToTxt(File f){
		InputStream is=null;
		try
		{
			Parser parser=new AutoDetectParser();
			is=new FileInputStream(f);
			
			ContentHandler handler=new BodyContentHandler();
			
			ParseContext context=new ParseContext();
			context.set(Parser.class, parser);
			parser.parse(is, handler, new Metadata(), context);

                        for(String name:metadata.names()){
				              System.out.println(name+":"+metadata.get(name));
				
				
			}
			return handler.toString();
		}



IndexUtil util=new IndexUtil();
		 System.out.println(util.fileToTxt(new File("d:/1.doc")));





2.2 方法2:
public String tikaTool(File f){
		Tika tika=new Tika();
		try
		{
			return tika.parseToString(f);
		}
		catch (IOException e)
		{
			
			e.printStackTrace();
		}
		catch (TikaException e)
		{
			
			e.printStackTrace();
		}
		return null;
	}


这个方法很简单。 直接就可以返回文本内容。



猜你喜欢

转载自alleni123.iteye.com/blog/2044348