【发布时间】:2014-12-28 16:54:08
【问题描述】:
有没有办法将文本文件读入对象数组?我已经设法使用字符串的对象数组来做到这一点 - 但我无法弄清楚如何使用对象的对象数组来做到这一点。即卡片的 Hand 对象数组。这是我的代码;
try {
FileReader fr = new FileReader(file_name);
BufferedReader buf = new BufferedReader(fr);
//Create temporary arraylist to store hand
ArrayList<Hand> tempHand = new ArrayList<>();
Hand hand;
int numLines = 0;
String lineHand;
while ((lineHand = buf.readLine()) != null){
numLines++;
//Initialise new empty hand object
hand = new Hand();
//Add hand
hand.addHand(lineHand);
//Add hand to temporary array
tempHand.add(hand);
}
//display hands
for (int i =0; i<tempHand.size(); i++){
System.out.println(tempHand.get(i).getHand());
}
}
catch(IOException e) {
e.printStackTrace();
}
通过上面的代码,我可以看到哪里出了问题,但我不知道如何解决它。我曾尝试让 lineHand 键入 Hand 而不是字符串,但后来我在使用 buf.readline() 时遇到了问题。关于如何解决这个问题的任何想法?
【问题讨论】:
-
你到底追求什么?读取文件时要获取 Hand 对象而不是 String?
-
如果你想要一个 Hand 对象,那么在循环中创建一个 Hand 的实例,在 Hand 对象的一个实例变量中设置 String 的值,然后在 Array/ArrayList 中设置 hand 对象
-
是的,我想从文件中获取一个 Hand 对象,然后将 Hand 放入一个数组列表中以备后用。
-
那么你就可以进行序列化了。
标签: java arrays object bufferedreader readfile