我有买家的arraylist和每个买家有一个名称和价格

时间:2016-12-14 12:20:02

标签: java arraylist

如何从文件中读取所有买家并将所有买家存储在数组列表中?我怎样才能做到这一点?

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(); }

2 个答案:

答案 0 :(得分:0)

如果您的班级Bidder实施Serializable,则可以使用ObjectOutputStreamBidderArrayList<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);
}