Java 我有一个买家列表,每个买家都有名字和价格

Java 我有一个买家列表,每个买家都有名字和价格,java,arraylist,Java,Arraylist,如何从文件中读取所有买家并将所有买家存储在阵列列表中?我该怎么做 public ArrayList<Bidder> ListOfBidder = new ArrayList<Bidder>(); File Bidder =new File("E:\\Bidder.txt"); public void getListFromFille() throws FileNotFoundException, IOException{ Scanner in = new

如何从文件中读取所有买家并将所有买家存储在阵列列表中?我该怎么做

 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();
 }
public ArrayList ListOfBidder=new ArrayList();
文件投标人=新文件(“E:\\Bidder.txt”);
public void getListFromFille()引发FileNotFoundException,IOException{
扫描仪输入=新扫描仪(投标人);
投标人b=新投标人();
while(在.hasNextLine()中)
{
b、 BName=in.nextLine();
b、 BPrice=in.nextInt();
投标人名单。添加(b);
}
in.close();
}

它给了我这个错误:
线程“main”java.util.InputMismatchException中的异常
如果您的类
Bidder
实现了
可序列化的
,那么您可以使用
ObjectOutputStream
Bidder
ArrayList
保存到一个文件中。然后,当您准备读回这些对象时,可以使用
ObjectInputStream
将它们读回对象

 class Bidder implements Serializable{
     //class code
 }
使用这些方法保存
ArrayList
,然后将其读回

 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;
 }
void saveBidders(ArrayList bidders,字符串文件)引发IOException{
ObjectOutputStream oos=新的ObjectOutputStream(新文件(File));
oos.书面对象(投标人);
oos.close();
}
ArrayList getBidders(字符串文件)引发IOException{
ObjectInputStream ois=新ObjectInputStream(新文件(File));
ArrayList=(ArrayList)ois.readObject();
ois.close();
退还投标人;
}
以下是一些文档:

serializable

ObjectOutputStream

ObjectInputStream

如果您的类
Bidder
实现了
可序列化
,那么您可以使用
ObjectOutputStream
Bidder
数组列表保存到文件中。然后,当您准备读回这些对象时,可以使用
ObjectInputStream
将它们读回对象

 class Bidder implements Serializable{
     //class code
 }
使用这些方法保存
ArrayList
,然后将其读回

 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;
 }
void saveBidders(ArrayList bidders,字符串文件)引发IOException{
ObjectOutputStream oos=新的ObjectOutputStream(新文件(File));
oos.书面对象(投标人);
oos.close();
}
ArrayList getBidders(字符串文件)引发IOException{
ObjectInputStream ois=新ObjectInputStream(新文件(File));
ArrayList=(ArrayList)ois.readObject();
ois.close();
退还投标人;
}
以下是一些文档:

serializable

ObjectOutputStream

ObjectInputStream

扫描程序通常会引发此异常,以指示检索到的令牌与预期类型的模式不匹配,或者令牌超出预期类型的范围

试试这个

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

此异常通常由扫描程序引发,以指示检索到的令牌与预期类型的模式不匹配,或者该令牌超出预期类型的范围

试试这个

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

你查过错误是什么吗?扫描程序抛出的错误状态为
,表明检索到的令牌与预期类型的模式不匹配,或者令牌超出预期类型的范围。
这应该表明问题所在。您是否查找了错误内容?扫描器抛出的错误状态为
,表明检索到的令牌与预期类型的模式不匹配,或者令牌超出预期类型的范围。
这应该表明问题所在。如何将投标人信息放入文件中?您是否手动添加它?或者您正在使用上述保存投标人的方法?投标人信息是如何放入文件的?您是否手动添加它?或者你正在使用上面的保存投标人的方法?但是我不能得到所有的投标人?但是我不能得到所有的投标人?