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