FileWriterを使用してJavaでファイルに書き込みますが、動作がおかしいです。
try
{
newFile = new File(typeOfData);
if (!newFile.exists())
{
newFile.createNewFile();
writer = new FileWriter(newFile);
for (Map<String, Double> tfidf : tfidfs)
{
Set<String> keys = tfidf.keySet();
Iterator<String> iterator = keys.iterator();
//int i = 1;
while(iterator.hasNext())
{
String featureValue = iterator.next() + ":" + tfidf.get(iterator.next()) + " ";
//System.out.print(featureValue);
writer.write(featureValue);
//i++;
}
writer.write("\n");
//System.out.println();
writer.flush();
}
//writer.flush();
writer.close();
}
}
whileループでは、の代わりにiterator.next()
変数を使用するint i = 1
とi++
、すべての値とすべてが正しく書き込まれます。しかし、このコードを記述どおりに使用すると、何も含まれていない空白のファイルが作成されます。なぜこれが起こっているのか分かりません。助言がありますか?