我正在使用 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++
它写得很好,包含所有值和所有内容。但是当我使用它编写的代码时,它只会创建一个空白文件,其中没有任何内容。我不明白为什么会这样。有什么建议么?