毕业设计数据查找优化代码之一

原创 2007年10月02日 22:38:00
/*
 * DivWords.java
 *
 * 创建于 2007年10月2日, 下午9:16
 *
 * @author 马如林
 *
 */

package com.mrl;

import java.io.*;
import java.util.*;

import com.xjt.nlp.word.ICTCLAS;
import com.mrl.FileProcess;

/**
 *
 * @author rulinma
 */
public class DivWords
{
    /** 测试分类文件夹 */
    private static String FILE_DIR ="D:/blogTestSet";
   
    /** 分词存放文本    */
    private static String DIV_WORDS ="D:/divWords";
   
    /** 主程序入口 */
    public static void main(String[] args)
    {  
        FileProcess fileProcess = new FileProcess();

        /** 获取所在文件夹*/
        getFile(FILE_DIR);
    }
   
    /*
     * 根据文件目录读取整个文件夹文件,同时currId表示数据库当前有的文章数
     */
    private static void getFile(String dirPath)
    {
        /** 建立当前目录中文件的File对象 */
        File filesDir = new File(dirPath);

        /** 取得代表目录中所有文件的File对象数组 */
        File list[] = filesDir.listFiles();

        for(int i=0; i<list.length; i++)
        {
            if(list[i].isFile())
            {
                readContent(list[i].getPath ());              
           }
        }
    }
   
    /*
     * 根据文件路径读取文章内容
     */
    private static void readContent(String filePath)
    {
        int i = 0;
        String strContent = null;
        try
        {
            BufferedReader in = new BufferedReader(new FileReader(filePath));      
            String strTemp = null;
            while ((strTemp = in.readLine()) != null)
            {
                strContent = strContent + strTemp;
                i++;
             }
            in.close();
        }
        catch (IOException e)
        {
            e.getStackTrace();
        }       
        // 调用分词处理
        divLexical(strContent);
     }
   
    /*
     * 内容分词处理
     */
    private static void divLexical(String strContent)
    {
        /** 调用ICTCLAS进行分词 */
        ICTCLAS ictclas = new ICTCLAS();
        if(!ictclas.init (0,2))
        {
            ictclas.init (0,2);
        }
        String strTrans=ictclas.paragraphProcess(strContent);
       
        filterString(strTrans);
    }
   
    /*
     * 过滤字符串 比如中国/北京 天安门/。,过滤为 中国/北京 天安门/。两个串
     */
    private static void filterString(String srcStr)
    {
        /** 使用trim去掉前后多余空格防止发生意外 */
        String strTemp = srcStr.trim();
        String tempText = "";
      
        StringTokenizer st = new StringTokenizer(strTemp," ");
        int len = st.countTokens();
        for(int i=0; i<len; i++)
        {
            tempText = st.nextToken();
            divStr(tempText);   
        }
    }
   
    /*
     * 对连续的字符串过滤,比如中国/北京,过滤为 中国 北京 两个词
     */
    private static void divStr(String srcStr)
    {
        StringTokenizer st = new StringTokenizer(srcStr,"/");
       
        int len = st.countTokens();

        if(len == 2)
        {
            /** 前一个词 */
            String strPre = st.nextToken ();
            System.out.println(strPre);
           
            try
            {
                /** 在文件中添加词 */
                BufferedWriter out = new BufferedWriter(new FileWriter(DIV_WORDS,true));
                out.write(strPre);
                out.newLine();
                out.close();
            }
            catch (IOException e)
            {
            }
        }
    }
}
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

毕业设计——人脸检测——003 学习别人代码

代码学习 今天学习http://blog.csdn.net/lyqmath/article/details/6139043 lyqmath的代码 我将其代码复制到一个txt文档,然后署名‘...

【毕业设计day01】代码浅析

day01: JF(button_5)  -->  ExtractLexiconAndTra(buildDic) --> CmdMain(cmdMain)-->  1~8 JF(button_1)...

毕业设计day01--代码学习篇

JF(button_5)  -->  ExtractLexiconAndTra(buildDic) --> CmdMain(cmdMain)-->  1~8 JF(button_1)  -->  E...

毕业设计——人脸检测——004 学习别人代码——《matlab读取一个目录下的所有图片》

学习warmyellow的代码——《matlab读取一个目录下的所有图片》  http://blog.csdn.net/warmyellow/article/details/6288670  ...

【毕业设计day05】精析代码

翻译_ 1. 词典信息加载 : docPairOfCorpus.fullcorpus.dic加载对象文件 2. 从提取出的词典进行翻译:   tranWord  rank  similarity 词典...

毕业设计开题报告----空间数据共享

毕业设计开题报告           题 目 名 称         空间数据共享研究       院&#...

自考毕业设计有感

PB9.0在四天前是多么圣神,只知道有这么个东西,但是从没有用过这个开发环境。带着迷茫和无奈还是开始了自考的毕业设计。         刚开始什么都不懂,只知道和VB开发环境有很多相似处,抱着车到山前...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)