我正在使用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