我正在使用FileWriter在java中写入文件,但它的行为很奇怪。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++
它写就好了,所有的价值观和一切。但是当我使用这段代码时,它只是创建一个没有任何内容的空白文件。我不明白为什么会发生这种情况。有什么建议么?
你可以在* iterator.next()*中调用两次循环,希望你可以确保有一些元素可以迭代。 – MrSmith42