我要写入.txt文件,然后尝试以下操作:
save_arq.print("%s;%d:%f;", entry.getValue(), entry.getKey(), result);
我以此方式初始化文件:
Scanner file_tf_idf = new Scanner(System.in);
FileWriter arq = new FileWriter("C:\\tf_idf.txt");
PrintWriter save_arq = new PrintWriter(arq);
但是我在save_arq.print中出错。
我的完整代码:
public class tfidfWeights {
public Map<String, Integer> tfidf(Map<String, Integer> tf_C) throws IOException{
Scanner file_tf_idf = new Scanner(System.in);
FileWriter arq = new FileWriter("C:\\tf_idf.txt");
PrintWriter save_arq = new PrintWriter(arq);
Map<String, Integer> idf = new HashMap<String, Integer>();
//Set<Integer> doc_id = new HashSet<Integer>(tf_C.keySet());
Set<Entry<String, Integer>> set = tf_C.entrySet();
Iterator it = set.iterator();
Integer N_total = tf_C.size();
while(it.hasNext()){
//iterar o map
Entry<String, Integer> entry = (Entry)it.next();
double result = 0;
result = Math.log10(N_total/entry.getValue());
save_arq.print("%s;%d:%f;", entry.getValue(), entry.getKey(), result);
System.out.print(result);
}
save_arq.close();
}
}
答案 0 :(得分:2)
PrintWriter
类中没有print
方法接受这些参数。我假设您想使用printf()
方法,该方法接受:
printf(String format, Object... args)
因此您的代码应为:
save_arq.printf("%s;%d:%f;", entry.getValue(), entry.getKey(), result);