我有这样的规定,使用适当的getter和setter方法的类...加载CSV文件,并从价值创造新的类实例
public class Album {
private int id;
private String artist;
private String name;
private int published;
}
我也有存储此.csv文件一些相册的内容。在该文件中,一行代表一个专辑。
我试图从.csv文件中读取信息,然后使用Album
类的setters分配值。这里是我的代码...
public Map<Integer, Album> load() {
Scanner scanner = new Scanner(fileName);
Map<Integer, Album> loadedAlbums = new HashMap<Integer, Album>();
while(scanner.hasNextLine()) {
Album album = new Album();
String[] albumDivided = scanner.nextLine().split(",");
//in the .csv file every unit of information is divided by a comma.
album.setId(Integer.parseInt(albumDivided[0])); //this is line 11.
album.setArtist(albumDivided[1]);
album.setName(albumDivided[2]);
album.setPublished(Integer.parseInt(albumDivided[3]));
loadedAlbums.put(album.getId(), album);
}
return loadedAlbums;
}
但是,试图利用这个代码,我得到以下异常:
java.lang.NumberFormatException:对于输入字符串: “albums.csv” 在第11行。
请你帮我理解这个问题的原因。
哦,该文件中信息的格式为:“1,歌手名,专辑名,发表” – Mark 2012-04-11 13:26:11