本文主要是介绍Ubuntu下ICTCLAS JNI的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先下载ICTCLAS2011_Linux_32_jni ,解压后是ICTCLAS50_Linux_RHAS_32_JNI文件夹。
在Eclipse里面新建一个Java Project,把ICTCLAS50_Linux_RHAS_32_JNI/API下的ICTCLAS放到Java Project的src目录下,把ICTCLAS50_Linux_RHAS_32_JNI/API下的其他所有内容放到Java Project的根目录下,新建一下java class,取名Test。在ICTCLAS50_Linux_RHAS_32_JNI/Doc下有个ICTCLAS50的API使用说明,第22页是第一个JNI示例程序,把该程序的见容拷贝到我们的Test.java里面就可以了。或者直接使用下面的代码:
import ICTCLAS.I3S.AC.ICTCLAS50;public class Main {/*** @param args*/public static void main(String[] args) {ICTCLAS50 testICTCLAS50 = new ICTCLAS50();try {// 分词所需库的路径String argu = ".";// 初始化if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false) {System.out.println("Init Fail!");return;} else {System.out.println("Init Succeed!");}String sInput = "点击下载超女纪敏佳深受观众喜爱。禽流感爆发在非典之后。";sInput = "面条的引进把游牧文化对于面粉的地一塑造——面包,拓宽到一个新的领域,就像西方人说的,既多了一种吃的方法,又解决了面粉的储存问题。值得注意的是,当今的意大利不仅成为空心面的出口国,而且向我们大量出口生产面条的成套设备,看来,我们的“擀面杖”面临的现实是何等严峻";byte nativeBytes[] = testICTCLAS50.ICTCLAS_ParagraphProcess(sInput.getBytes("GB2312"), 0, 1);System.out.println(nativeBytes.length);String nativeStr = new String(nativeBytes, 0, nativeBytes.length,"GB2312");System.out.println("The result is :" + nativeStr);} catch (Exception ex) {} finally {testICTCLAS50.ICTCLAS_Exit();}}}
运行Test.java,会遇到错误:no ICTCLAS50 in java.library.path,这时更改ICTCLAS.I3S.AC.ICTCLAS50.java,把System.loadLibrary("ICTCLAS50")改为System.load("/home/orisun/develop/workspace/ICTCLAS_Test/libICTCLAS50.so")----即libICTCLAS50.so的绝对路径,
原文来自:博客园(华夏35度)http://www.cnblogs.com/zhangchaoyang 作者:Orisun
这篇关于Ubuntu下ICTCLAS JNI的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!