我试图将所有停用词放在一个哈希集上,我不想一个一个地添加它,所以我试图放入一个txt文件并让我的扫描仪扫描它。问题是我认为我的代码没有到达我的扫描仪这里是我的代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class StopWords {
public static final Set<String> stopWords = new HashSet<String>();
private static class scan {
public scan()throws IOException {
Scanner s = null;
try{
s = new Scanner(new BufferedReader(new FileReader("stopwords.txt")));
while (s.hasNext()) {
//System.out.println(s.next());
stopWords.add(s.next());
}
}finally{
if (s != null) {
s.close();
}
}
}
}
}
我在其他类上运行我的主,我只是调用这个类。提前谢谢
答案 0 :(得分:0)
在封闭类中为它创建一个包装器。 类似的东西:
public void doScan() {
try {
scan.scan();
catch (IOException e) {};
}
在StopWords类中。
这样你就可以在StopWords的实例上调用doScan()。你也可以把它变成静态的。
我同意你应该遵循Java语言的命名对话(wikipedia.org)。
答案 1 :(得分:0)
只想添加一些你可能会考虑的技巧:
你结束了这样的事情:
final Properties stopProps = new java.util.Properties();
stopProps.load( new InputStreamReader( this.class.getClassLoader().getResourceAsStream( "mycode/stopWords.properties", "UTF-8" ) );
...
祝你好运!