2015-04-03 32 views
0

的陣列我有一個文件,file.txt如何才能讀取信息,並把這些信息在對象

7 10 5 
ADD_FLIGHT SV221 Jeddah NewYork 30 7000 
ADD_FLIGHT SV223 Jeddah London 30 4000 
ADD_FLIGHT SV225 Jeddah Paris 30 3500 
ADD_FLIGHT SV227 Jeddah Cairo 30 2000 
ADD_PASS Mohammed Ali 33 M 0555788778 
ADD_PASS Sara Maghrabi 30 F 0555111111 
ADD_PASS Hani Ali 20 M 0555223344 
ADD_PASS Mohammed Hafeth 33 M 0555889876 
ADD_PASS Ahmad Sami 44 M 0555768768 
ADD_FLIGHT SV332 Jeddah Riyadh 20 500 
ADD_FLIGHT SV334 Jeddah Dammam 20 600 
ADD_FLIGHT SV367 Jeddah Dubai 25 2000 
ADD_PASS Salwa Ali 33 F 0555765672 
ADD_PASS Faisal Amri 20 M 0555111111 
ADD_PASS Mona Saleem 33 F 0555222112 
ADD_PASS Ali Ali 33 M 0555743344 
ADD_PASS Marwa Ahmad 33 F 0555545855

我想把ADD_FLIGHT後信息對象的數組

我的代碼不正確,因爲setTotalSeats不適用於字符串。

如何更正代碼並將航班信息放入對象數組中?

public static void inputFlight (Flight tempFlight ) throws IOException{ 
    FileInputStream fstream = new FileInputStream("input.txt"); 
    DataInputStream in = new DataInputStream(fstream); 
    BufferedReader br2 = new BufferedReader(new InputStreamReader(in)); 
    String strLine; 
    while ((strLine = br2.readLine()) != null) { 
     if(strLine.contains("ADD_FLIGHT")){ 
      tempFlight.setFlightCode(strLine.replace("ADD_FLIGHT","")); 
        tempFlight.setCityFrom(strLine.replace("ADD_PASS","")); 
    tempFlight.setCityTo(strLine.replace("ADD_PASS","")); 
    tempFlight.setTotalSeats(strLine.replace("ADD_PASS","")); 
+0

你能否澄清一下「我想在ADD_FLIGHT語句之後在對象數組中創建信息,如果找到ADD_FLIGHT」? – 2015-04-03 20:29:50

+0

?問題現在是否清楚 – user4746449 2015-04-03 20:36:51

+0

現在如何更好地使用我的版本?我認爲。 **順便說一句,你可以關閉你的if語句** – 2015-04-03 20:38:12

回答

0

我會改變你的while環路是這個樣子:

while ((strLine = br2.readLine()) != null) { 
    if(strLine.contains("ADD_FLIGHT")){ 
     String[] flightInfo = strLine.split(" "); 
     //first line of your example would be: {0=ADD_FLIGHT, 1=SV221, 2=Jeddah, 3=NewYork, 4=30, 5=7000} 
     String flightCode = flightInfo[1]; 
     String cityFrom = flightInfo[2]; 
     String cityTo = flightInfo[3]; 
     int totalSeats = Integer.parseInt(flightInfo[4]); 
    } 
} 

現在你可以使用每個變量的內容做什麼,那就是你想要做的事。