2016-04-12 14 views
0

Bir .txt dosyasından okunan verileri depolamakla ilgili sorunlar yaşıyorum, satırın başlangıcında hangi anahtarın olduğuna bağlı olarak verileri depolamaya çalışıyorum. ama bir sebepten dolayı sadece belgeyi olduğu gibi yazdırıyor. Bir ikinciif(stationTab.startsWith("Station: ")) { ile hemen döngü continue;.txt dosyasından okuma ve kullanma .startsWith

File file = new File(selectedFile.getAbsolutePath()); 


      } 

     if (connectionTab.startsWith("Connection: ")) { 
      continue; 
     } 

     if (!sca.hasNext()) { 
      break; 
     } 

     String connection = sca.next(); 


     if (!sca.hasNext()) { 
      continue; 
     } 
     String otherConnection = sca.next(); 

     if (!sca.hasNextDouble()) { 
      continue; 
     } 
     double distance = sca.nextDouble(); 


     TrainNetwork.newStation.addConnection(connection, otherConnection, distance); 
     System.out.println(connection + " " + otherConnection + " " + distance); 

    } 

} catch (FileNotFoundException e) { 
    System.out.println("File not found"); 
} 
+0

Başlat okuma özelliği sayesinde bu Kaldır * nextLine 'ile dosyasından bir defada hatları *()' yerine sadece/hasNext() 'yöntemleri –

+0

ilk şey seni boşlukla ayrılmış) (sonraki' dır' 'if (stationTab.startsWith ("Station:")) 'için sınama yapılmaz, ancak Tarayıcı taranan metinde _delimiter_ ve boşluk _not include_ olarak boşluklar kullanır, dolayısıyla bu' if' her zaman başarısız olur. Muhtemelen '' İstasyon: ''' _without_' 'sondaki alanı sınamak isteyebilirsiniz. –

+0

İkincisi: - kodun ikinci yarısında "otherConnection" ve "distance" ile çalıştığınız yerde, bu bölümü 'try (Scanner sca = new Scanner (file)) {'ile başlatırsınız. Kodun ilk bölümünde okuduğunuz aynı dosyanın _start_'ından okumaya başlayan bir _new_ Tarayıcı. –

cevap

1

: Burada

kodudur.

if (stationTab.startsWith("Station: ")) { 
    // if(stationTab.startsWith("Station: ")) { 
    //  continue; 
    // } 
    if (!sc.hasNext()) { 
     break; 
    } 
İlgili konular