packagecom.vista; importjava.io.BufferedReader; importjava.io.File; importjava.io.FileInputStream; import Java.io.file not found exception; importjava.io.IOException; import Java.io.input streamreader; importjava.util.Properties; importjava.util.logging.Level; importjava.util.logging.Logger; /***培训集管理器*/publicclasstrainingdatamanager
{ privatestring [ ] traningfileclassifications; //训练资料分类集合privateFiletraningTextDir; //培训资料存储目录privatestaticstringdefaultpath=' d :\ trainning set '; publicTrainingDataManager (
{
traningtextdir=new file (默认路径; if (! traningtextdir.is目录(
{ thrownewillegalargumentexception ('培训语料库搜索失败! [ '默认路径' ];
} this.traningfileclassifications=traningtextdir.list (;
}/***返回培训文本类别。 此类别是目录名称
*@return培训文本类别* /公共字符串[ ] gettraningclassifications (
{ return this.traningfileclassifications;
}/***基于训练文本类别返回此类别下的所有训练文本路径(完整路径)
*@paramclassification中给出的分类
*@return指定分类下的所有文件的路径(full path (/public string [ ] getfiles path (stringclassification ) ) )。
{
fileclassdir=new file (traningtextdir.getpath (file.separatorclassification );
String[]ret=classDir.list (; for(inti=0; I
{
ret [ I ]=traningtextdir.getpath (file.separatorclassificationfile.separator ret [ I ];
}返回ret;
}/***返回指定路径的文本文件的内容
*@paramfilePath指定的文档路径
* @返回文本的内容
* @ throws Java.io.file not found exception
* @ throws Java.io.ioexception */publicstaticstringgettext (字符串文件路径) throwsFileNotFoundException,io exception
{
inputstreamreaderisreader=newinputstreamreader (new file inputstream (file path )、' GBK ' );
bufferedreaderreader=newbufferedreader (is reader );
Stringaline;
stringbuilder sb=new stringbuilder (; while((aline=reader.readline ) )!=空)
{
sb.append(aline ' );
}
isReader.close (;
reader.close (; returnsb.toString (;
}/***返回训练文本集中的所有文本数
*@return培训文本集中的所有文本数*/publicintgettrainingfilecount () ) ) ) )。
{互联网=0; for(inti=0; I
{
ret=gettrainingfilecountofclassification (traningfileclassifications [ I ];
}返回ret;
}/***返回集中在给定分类上的培训文本数
*@paramclassification中给出的分类
* @返回训练文本集中在给定分类下的训练文本数*/publicintgettrainingfilecountofclassification (stringclassification ) )
{
fileclassdir=new file (traningtextdir.getpath (file.separatorclassification ); returnclassDir.list ().length;
}/***返回指定分类中包含的关键字/单词培训文本的数量
*@paramclassification中给出的分类
*@paramkey赋予的关键字/单词
*@return指定分类中包含关键字/单词的训练文本数*/publicintgetcountcontainkeyofclassification (stringclassification,Stringkey )
{互联网=0; try{
string [ ]文件路径=getfiles path (class ification; for(intj=0; Jj
{
string text=gettext (文件路径[ j ]; (if(text.contains(key ) ) ) ) ) ) ) ) ) ) ) ) )
{
ret;
}
}
}catch(filenotfoundexceptionex ) )。
{
logger.getlogger (training data manager.class.getname () ).log ) level.severe,null,ex );
}catch(ioexceptionex ) ) )。
{
logger.getlogger (training data manager.class.getname () ).log ) level.severe,null,ex );
}返回ret;
}
}