用Java写.txt文件

时间:2018-11-11 03:13:41

标签: java file mod-rewrite

我要写入.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();
    }
}

1 个答案:

答案 0 :(得分:2)

PrintWriter类中没有print方法接受这些参数。我假设您想使用printf()方法,该方法接受:

printf(String format, Object... args)

因此您的代码应为:

save_arq.printf("%s;%d:%f;", entry.getValue(), entry.getKey(), result);