如何从文件中读取所有买家并将所有买家存储在数组列表中?我怎样才能做到这一点?
select player_id from score_table where score = (select min(score) from score_table st join group_table gt on st.player_id =gt.group_id and gt.group_id = 0)
它给了我这个错误: public ArrayList<Bidder> ListOfBidder = new ArrayList<Bidder>();
File Bidder =new File("E:\\Bidder.txt");
public void getListFromFille() throws FileNotFoundException, IOException{
Scanner in = new Scanner(Bidder);
Bidder b=new Bidder();
while(in.hasNextLine())
{
b.BName=in.nextLine();
b.BPrice=in.nextInt();
ListOfBidder.add(b);
}
in.close();
}
答案 0 :(得分:0)
如果您的班级Bidder
实施Serializable
,则可以使用ObjectOutputStream
将Bidder
或ArrayList<Bidder>
保存到文件中。然后,当您准备好重新读取这些对象时,可以使用ObjectInputStream
将它们读回对象。
class Bidder implements Serializable{
//class code
}
使用这些方法保存ArrayList<Bidder>
,然后在
void saveBidders(ArrayList<Bidder> bidders, String file) throws IOException{
ObjectOutputStream oos = new ObjectOutputStream(new File(file));
oos.writeObject(bidders);
oos.close();
}
ArrayList<Bidder> getBidders(String file) throws IOException{
ObjectInputStream ois = new ObjectInputStream(new File(file));
ArrayList<Bidder> bidders = (ArrayList<Bidder>) ois.readObject();
ois.close();
return bidders;
}
以下是一些文档:
Serializiable
http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
ObjectOutputStream
https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html
ObjectInputStream
https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html
答案 1 :(得分:0)
此异常通常由扫描程序抛出,以指示检索到的令牌与预期类型的模式不匹配,或者令牌超出预期类型的范围。
试试这个!!
Scanner in = new Scanner(Bidder);
Bidder b=new Bidder();
while(in.hasNextLine())
{
b.BName=in.next();
in.nextLine();
b.BPrice=in.nextInt();
ListOfBidder.add(b);
}