中以前的行的值有一個很快的問題。java從文件中讀取。最後一行覆蓋列表
我有一個文件名1.txt
Coupe 1 2
Coupe 3 4
和我有一個代碼
br = new BufferedReader(new FileReader("1.txt"));
String tmp = "";
while ((tmp = br.readLine()) != null) {
String[] s = tmp.split("\\s");
comfortName = s[0];
tickets = Integer.parseInt(br.readLine());
baggage = Integer.parseInt(br.readLine());
// next code send to constructor of class from value of comfort name a parametrs.
Class[] e = new Class[]{Integer.TYPE,Integer.TYPE};
comfortName = "second.objects.carriages.type." + comfortName;
Class carriageClass = Class.forName(comfortName); Constructor constructor = carriageClass.getDeclaredConstructor(e);
passenger = (Passenger) constructor.newInstance((tickets),(baggage));
// the next line add to list a value from constructor
carriage.addPassenger(passenger);
添加客運代碼:
public boolean addPassenger(Passenger passenger) {
totalPassenger +=Passenger.getTickets();
totalBaggage+=Passenger.getBaggage();
return Carriage.getPassengerList() .add(passenger);
}
所以結果時,我把它列出有這樣的事情:
Coupe 3 4
Coupe 3 4
但是從調試器中我發現數值讀取不錯。但總是最後一行 覆蓋列表中前面幾行的值。 因此,當我只發送一個排它的工作
int tickets = Integer.parseInt(br.readLine()); \t \t int baggage = Integer.parseInt(br.readLine());應該拋出一個NumberFormatException – Shek
是的,我做了一個嘗試捕獲,但對於這個問題,以最小的代碼,我已經刪除它 –
java.lang.Class.newInstance()創建由此Class對象表示的類的新實例。該類被實例化,就像通過一個帶有空參數列表的新表達式一樣。如果該類尚未初始化,則該類將被初始化。 – Shek