作者:乔山办公网日期:
返回目录:word文档
需要commons-io包, 或者自己写读文e799bee5baa6e997aee7ad94e78988e69d83332件的部分
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils;
public class Test20 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = null;
try {
str = FileUtils.readFileToString(new File("e.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Pattern p = Pattern.compile("\\b[\\w-']+\\b");
Matcher m = p.matcher(str);
List<Word> words = new ArrayList<Word>();
while(m.find()){
add(words, m.group().trim());
}
Collections.sort(words, new Comparator<Word>(){
@Override
public int compare(Word o1, Word o2) {
// TODO Auto-generated method stub
return o1.getWord().compareTo(o2.getWord());
}});
System.out.println(words);
}
private static void add(List<Word> words, String word) {
// TODO Auto-generated method stub
for(Word temp : words){
if(temp.getWord().equals(word)){
temp.setCount(temp.getCount() + 1);
return;
}
}
Word w = new Word();
w.setWord(word);
words.add(w);
}
}
class Word{
private String word;
private int count = 1;
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "Word [word=" + word + ", count=" + count + "]";
}
}
word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。
如果需要安装word分词器可以参考下面的步骤:
1、确保电脑上已经安装了JDK软件和Eclispe工具,没有安装的可以到对应的官网下载安装:
JDK官网:http://
2、下载word分词器的相关jar包:
打开word分词器的官方github主页:https://github.com/ysc/word
下拉找到ReadME部分,点击“编译好的jar下载”:
页面将会跳转到到百度云盘的下载页面,按照需求下载指定的版本即可。
注意:word1.3需要JDK1.8。
下载完成之后解压到指定目录。7a686964616fe78988e69d83332
3、创建Java项目,导入word分词器的相关jar包:
打开Eclipse,右键创建Java project项目:
然后右键项目选择Build path打开导入页面,导入刚才下载的jar包到项目中:
导入成功之后就可以在自己的项目中使用word分词器了。
String str = segmenter.sentenceProcess(s);
System.out.println(str);
BufferedWriter out = new BufferedWriter(new FileWriter("F:\\out.txt"));
out.append(str);
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassDanci{publicstaticvoidmain(String[]args){Stringstr=newString();System.out.print("请输入一个英文句子来:自");try{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));//获取百键盘输入str=br.readLine();}catch(IOExceptione){e.printStackTrace();}String[]s=str.split("");//转换成数度组System.out.println("你输入的知句子共有单词"+s.length+"个");//s.length获取数道组长度}}//此程序只能获取一句话的单词个数.