當前位置:成語大全網 - 書法字典 - 如何用java調用斯坦福英語句法分割器

如何用java調用斯坦福英語句法分割器

您需要commons-io包,或者您可以自己編寫和讀取文件的壹部分。

導入Java . io . file;

導入Java . io . io exception;

導入Java . util . ArrayList;

導入Java . util . collections;

導入Java . util . comparator;

導入Java . util . list;

導入Java . util . regex . matcher;

導入Java . util . regex . pattern;

導入org . Apache . commons . io . fileutils;

公共類測試20 {

/**

* @param args

*/

公共靜態void main(String[] args) {

// TODO自動生成的方法存根

String str = null

嘗試{

str = fileutils . readfiletostring(new File(" e . txt "));

} catch (IOException e) {

// TODO自動生成的catch塊

e . printstacktrace();

}

pattern p = pattern . compile(" \ \ b[\ \ w-']+\ \ b ");

matcher m = p . matcher(str);

列表& ltWord & gtwords = new ArrayList & ltWord & gt();

while(m.find()){

加(字數,m.group()。trim());

}

Collections.sort(words,new Comparator & ltWord & gt(){

@覆蓋

public int compare(Word o1,Word o2) {

// TODO自動生成的方法存根

返回o1.getWord()。compare to(O2 . get word());

}});

System.out.println(單詞);

}

私有靜態void add(List & lt;Word & gt單詞,字符串單詞){

// TODO自動生成的方法存根

for(Word temp : words){

if(temp.getWord()。等於(單詞)){

temp . set count(temp . get count()+1);

返回;

}

}

Word w = new Word();

w . set word(word);

words . add(w);

}

}

類別詞{

私有字符串字;

private int count = 1;

公共字符串getWord() {

返回單詞;

}

public void setWord(字符串字){

this.word = word

}

public int getCount() {

返回計數;

}

public void setCount(int count) {

this.count = count

}

@覆蓋

公共字符串toString() {

返回“Word [word=" + word +",count = "+count+"]”;

}

}