filedatamodel接受以下格式的数据
userId,itemId,pref(long,long,Double).
现在我有一些itemid,它在数字的末尾有一个“x”。如何编辑itemid的某些部分,以便删除“x”?是否可以用一个简单的try-catch语句来实现这一点?
DataModel model = null;
try{
model = new FileDataModel(new File("book_data/BX-Book-Ratings.csv"));
}catch(NumberFormatException e){
REMOVE X
}
代码:
DataModel model = new FileDataModel(new File("book_data/BX-Book-Ratings.csv"));
错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "034545104X"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
数据:
276725,034545104X,0
276726,155061224,5
276727,446520802,0
276729,052165615X,3
2条答案
按热度按时间6jjcrrmo1#
imho,最简单的方法就是使用if语句:
ztyzrc3y2#
一种方法是在文件上运行一个预处理器来转换它的内容,以确保它与
FileDataModel
. 如果数据格式非常简单,可以使用正则表达式替换。否则,我建议使用一个解析器将数据放入内存,然后使用转换器执行操作,最后使用序列化程序保存结果。比如:
顺便说一下,依赖流或缓冲区比
File
.