[英]Invalid outout when writing to file with java
我正在嘗試將輸出寫入csv文件,但第一個值是這種格式
我使用了ObjectOutputStream。 通常第一個值應該是1,1,1,2,2,2,3 ....這是我的代碼,有什么想法嗎?
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.List;
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.common.LongPrimitiveIterator;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.LogLikelihoodSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;
import org.apache.mahout.cf.taste.similarity.ItemSimilarity;
public class ItemRecommend {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("data/test.csv");
ObjectOutputStream oos = new ObjectOutputStream(fos);
try {
DataModel dm = new FileDataModel(new File("data/rated.csv"));
ItemSimilarity sim = new LogLikelihoodSimilarity(dm);
GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dm, sim);
for (LongPrimitiveIterator items = dm.getItemIDs(); items.hasNext();){
long itemID = (int)(long) items.nextLong();
List<RecommendedItem>recommendations = recommender.mostSimilarItems(itemID, 3);
for(RecommendedItem recommendation : recommendations){
oos.writeObject(itemID + "," + recommendation.getItemID() + "," + recommendation.getValue()+"\n");
//System.out.println(itemID + "," + recommendation.getItemID() + "," + recommendation.getValue());
}
}
} catch (IOException e) {
System.out.println("Error !");
e.printStackTrace();
} catch (TasteException e) {
System.out.println("Taste exception !");
e.printStackTrace();
}
finally {
oos.flush();
oos.close();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.