自学文本分类好久都摸不到门路,到网上找wvtool的应用基本上没有我想要的,
只好自己去看wvtool的API结合网上零碎的资料来一步步慢慢往前走了,纠结了这么几天,总算走出了学习的第一步了。其它结合着API,一点点自己写代码,至少现在
感觉没遇到很多的麻烦,可能麻烦的事在后面吧,who cares,来了再说吧! 呵呵 …… 下面是实现的用wvtool来把html文档解码成纯文本格式文档,其实,有了下面的这个例子,像pdf,xml等结构化,或者半结构化的文档都可有类的实现来解码成纯文本的……很简单的!
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.Reader;
- import edu.udo.cs.wvtool.generic.inputfilter.SelectingInputFilter;
- import edu.udo.cs.wvtool.generic.loader.UniversalLoader;
- import edu.udo.cs.wvtool.main.WVTDocumentInfo;
- /*
- * 这个程序实现把html文档解码成纯文本的形式
- * 原html文档:text.html
- * 内容:
- <html>
- <head>
- <title>雅虎新闻
- </title>
- </head>
- <body>
- 这是测试文档。
- </body>
- </html>
- * */
- public class Demo01 {
- public static String pathString="D:\\工作管理\\weka学习\\wvtool-1.1\\wvtool-1.1\\examples\\data\\";
- public static void main(String[] args) throws Exception {
- /*
- * 1、实例化一个加载器
- * */
- UniversalLoader loader=new UniversalLoader();
- /*
- * 2、实例化一个文档信息类
- * */
- WVTDocumentInfo info=new WVTDocumentInfo(pathString+"text.html", "html", "utf-8", "chinese");
- /*
- * 3、把文档以输入流的方式加载到内存中
- * */
- InputStream stream=loader.loadDocument(info);
- /*
- * 4、实例化一个过滤器
- * InputFilter that automatically selects an appropriate filter
- * according to the the file ending. The following rules are used.
- * HTM, HTML, htm, html -> SimpleTagIgnoringReader
- *XML, xml -> XMLInputFilter
- *PDF, pdf -> PDFInputFilter
- *all other -> TextInputFilter
- * */
- SelectingInputFilter filter=new SelectingInputFilter();
- /*
- * 5、把html文档进行解码成纯文本文件
- * */
- Reader readers=filter.convertToPlainText(stream,info);
- /*
- * 6、将解码的文档输出
- * */
- BufferedReader reader=new BufferedReader(readers);
- String string=reader.readLine().toString();
- //由于解码出来的文档中包含了大量的空格,而且奇怪的是这些
- //空格的char值是9(十进制),所以就只能以这样的方式输出了
- System.out.println(string.replace(string.valueOf((char)9), ""));
- //最后的输出结果为:?雅虎新闻这是测试文档。
- }
- }