java nlpir_4-NLPIR汉语分词系统-JAVA

好吧,之前用的是旧版的,现在出了个新版的,优先选择用新版的哈。

e59bc1708b9a9a3e5654cc8ee309b35c.png从官网下载相应的开发包,然后主要需要找到这几个东西添加到项目工程里面,1.Data文件夹 2.NLPIR_JNI.DLL 3.NLPIR.jar 4.nlpir.properties

添加完那些东西后,需要配置的东西主要为nlpir.properties文件,大概内容如下:

dll_or_so_path=D\:\\Spiliter\\NLPIR_JNI.dll

data_dir_parent_path=.

主要要配置dll_or_so_path,里面的路径为项目里面NLPIR_JNI.dll的绝对路径

搞定后就可以开始写代码了:

package shell;

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.UnsupportedEncodingException;

import java.io.Writer;

import java.net.URI;

import java.net.URISyntaxException;

import java.util.Properties;

import kevin.zhang.NLPIR;

public class Spliter {

NLPIR nlpir = null;

public Spliter(){

this.nlpir = new NLPIR();

String argu = "././";

try {

if (this.nlpir.NLPIR_Init(argu.getBytes("GB2312"),0,"0".getBytes("GB2312")) == false){

System.out.println("init failed");

}

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

public void SliptFile(String file,int tag){

String encoding = "utf8";

try {

String of = file.replace(".", "_new.");

FileOutputStream out = null;

out = new FileOutputStream(new File(of));

InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);

BufferedReader bw = new BufferedReader(read);

String line = null;

while((line = bw.readLine()) != null){

System.out.println(line);

String newLine = getSplitString(line,tag);

out.write((newLine + "\r\n").getBytes("utf8") );

}

bw.close();

out.close();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public String getSplitString(String text,int tag){

String splitStr = null;

byte nativeBytes[];

try {

nativeBytes = nlpir.NLPIR_ParagraphProcess(text.getBytes("gbk"), tag);

//因为分词是用c++编写的所以最后有一个\0,这边就不需要了,不然转码有问题的

splitStr = new String(nativeBytes, 0, nativeBytes.length - 1, "gbk");

System.out.println("分词结果为: " + splitStr);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return splitStr;

}

public static void main(String[] args){

Spliter s = new Spliter();

s.SliptFile("d:\\w.txt",0);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅析C语言中assert的用法(转)

原文地址&#xff1a;http://www.jb51.net/article/39685.htm 以下是对C语言中assert的使用方法进行了介绍&#xff0c;需要的朋友可以参考下。 assert宏的原型定义在<assert.h>中&#xff0c;其作用是如果它的条件返回错误&#xff0c;则终止程序执行&#xff0c;原型定…

hihocoder offer收割编程练习赛12 D 寻找最大值

思路&#xff1a; 可能数据太水了&#xff0c;随便乱搞就过了。 实现&#xff1a; 1 #include <iostream>2 #include <cstdio>3 #include <algorithm>4 using namespace std;5 typedef long long ll;6 7 int a[100005], n;8 9 int main() 10 { 11 int t;…

vue error:The template root requires exactly one element.

error:[vue/valid-template-root] The template root requires exactly one element. 原因&#xff1a; 因为vue的模版中只有能一个根节点&#xff0c;所以在<template>中插入第二个元素就会报错 解决方案&#xff1a; 将<template>中的元素先用一个<div>…

测试驱动陷阱,第2部分

单元测试中单元的故事 在本文的上半部分 &#xff0c;您可能会看到一些不好但很流行的测试示例。 但是我不是一个专业评论家&#xff08;也被称为“巨魔”或“仇恨者”&#xff09;&#xff0c;没有任何建设性的话就抱怨。 多年的TDD教给我的不仅仅是事情会变得多么糟糕。 有许…

java 代码 设置环境变量_Java 配置环境变量教程

【声明】欢迎转载&#xff0c;但请保留文章原始出处→_→【正文】1、安装JDK开发环境开始安装JDK&#xff1a;修改安装目录如下&#xff1a;确定之后&#xff0c;单击“下一步”。注&#xff1a;当提示安装JRE时&#xff0c;可以选择不要安装。2、配置环境变量&#xff1a;对于…

组合数据类型练习,英文词频统计实例上(2017.9.22)

字典实例&#xff1a;建立学生学号成绩字典&#xff0c;做增删改查遍历操作。 sno[33号,34号,35号,36号] grade[100,90,80,120] d{33号:100,34号:90,35号:80,36号:120} print(d) print(每个学号对应分数:,d.items()) print(弹出35号的分数:,d.pop(35号)) print(获取学号:,d.key…

java 代码中设置 临时 环境变量

System.setProperty("hadoop.home.dir", "D:\\software\\software_install\\dev_install\\hadoop-2.4.1"); 转载于:https://www.cnblogs.com/zychengzhiit1/p/6662376.html

什么是快速开发框架

什么是快速开发框架 前言 做为一个程序员&#xff0c;在开发的过程中会发现&#xff0c;有框架同无框架&#xff0c;做起事来是完全不同的概念&#xff0c;关系到开发的效率、程序的健壮、性能、团队协作、后续功能维护、扩展......等方方面面的事情。很多朋友在学习搭建自己…

java中的math.abs_Java.math.BigDecimal.abs()方法

全屏Java.math.BigDecimal.abs()方法java.math.BigDecimal.abs()返回一个BigDecimal&#xff0c;其值是此BigDecimal的绝对值&#xff0c;其标度是this.scale()。声明以下是java.math.BigDecimal.abs()方法的声明public BigDecimal abs()参数NA返回值此方法返回的名为value&…

我需要多少内存

什么是保留堆&#xff1f; 我需要多少内存&#xff1f; 在构建解决方案&#xff0c;创建数据结构或选择算法时&#xff0c;您可能会问自己&#xff08;或其他人&#xff09;这个问题。 如果此图包含1,000,000条边并且我使用HashMap进行存储&#xff0c;此图是否适合我的3G堆&am…

C语言程序设计预报作业

1阅读邹欣老师的博客--师生关系,针对文中的几种师生关系谈谈你的看法&#xff0c;你期望的师生关系是什么样的&#xff1f; 答&#xff1a;我认为文中的师生关系都存在一些缺陷&#xff0c;第一种师生关系是建立在病态关系上的&#xff0c;学生不是植物自然有自己的思想。所以我…

浅谈23种设计模式

浅谈23种设计模式 类之间的关联关系&#xff1a;在使用Java、C#和C等编程语言实现关联关系时&#xff0c;通常将一个类作为另一个类的属性。   (1)双向关联&#xff0c;两个类互相为各自的属性&#xff0c;比如顾客类Customer和商品类Product&#xff0c;顾客拥有商品&#x…

网页布局基础

1、盒子模型的第一层到第五层&#xff1a; border、padding content、background-image、background-color、margin 2、清除浮动。对受到浮动影响的标签作以下操作&#xff1a; 1、clear: both; 2、clear: right; clear: left; 3、设置宽度width: 100%(或者固定宽度) overflow…

mysql与串口通信_虚拟机串口与主机串口通信·小程序(下)

上次说到的&#xff0c;不能做到实时通信。那么开两个进程就可以了&#xff0c;一个用来监听是否有消息传来&#xff0c;一个用来等待用户输入。那么&#xff0c;先来复习一下进程的相关概念。进程结构linux中进程包含PCB(进程控制块)、程序以及程序所操纵的数据结构集&#xf…

浅谈我所见的CSS命名风格

在两年工作中&#xff0c;总结一下我所见的css命名风格。 1.单一class命名 .header {width: 500px; } .item {text-indent: 20%; } 优点&#xff1a;简单&#xff0c;渲染效率高。 缺点&#xff1a;零散&#xff0c;没有模块化。 2. 后代选择器class命名 .header .item a {font…

Java规范请求中的数字

你们都了解Java社区流程 &#xff08;JCP&#xff09;&#xff0c;不是吗&#xff1f; JCP是为Java技术开发标准技术规范的机制。 任何人都可以注册该站点并参与对Java规范请求&#xff08;JSR&#xff09;的审查和提供反馈&#xff0c;并且任何人都可以注册成为JCP成员&#x…

ORACLE MOS 翻译

http://blog.csdn.net/msdnchina/article/details/53174196转载于:https://www.cnblogs.com/zengkefu/p/6665950.html

自从我这样撸代码以后,公司网页的浏览量提高了107%!

欢迎大家前往腾讯云 社区&#xff0c;获取更多腾讯海量技术实践干货哦~ 本文由腾讯IVWEB团队发表于云 社区专栏 作者&#xff1a;yangchunwen HTTP协议是前端性能乃至安全中一个非常重要的话题&#xff0c;最近在看《web性能权威指南(High Performance Browser Networking)》&a…

python数列分段_按范围分段的Python数组

首先&#xff0c;定义你的“极”数第二&#xff0c;根据这些“极”数生成间隔第三&#xff0c;定义尽可能多的列表。在然后&#xff0c;对于每个间隔&#xff0c;扫描列表并在相关列表中添加属于该间隔的项代码&#xff1a;source [1, 4, 7, 9, 2, 10, 5, 8]poles (0,3,6,25)…

51nod 1278 相离的圆

基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 10 难度&#xff1a;2级算法题 平面上有N个圆&#xff0c;他们的圆心都在X轴上&#xff0c;给出所有圆的圆心和半径&#xff0c;求有多少对圆是相离的。例如&#xff1a;4个圆分别位于1, 2, 3, 4的位置&…