ServerPlugin Kein Einstieg in eine for-Schleife ?

Dieses Thema im Forum "Programmierung" wurde erstellt von Payno4, 3. Januar 2016.

  1. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    hei Community,

    Ich versuche durch den Code unten eine StringListe in's File einzubringen , indem ich die bis jetzt schon drinstehenden Strings in eine ArrayList pack, den neuen String hinzufüge und dann wieder in's File reinschreibe, doch leider funktioniert das nicht so ganz , denn er steigt schon garnicht erst in die for-Schleife ein , zeigt aber auch keine Fehlermeldungen an. Suche ich da vielleicht den Falschen begriff , also statt .getStringList vielleicht nur .getString ?
    Und falls noch jemand eine bessere Idee hat das zu lösen, immer her damit :)

    Code (Text):
    1.  
    2. public class test implements CommandExecutor{
    3.  
    4.     @Override
    5.  
    6.     public boolean onCommand(CommandSender arg0,Command arg1,String arg2,
    7.  
    8.             String[] arg3){
    9.  
    10.         // TODO Auto-generated method stub
    11.  
    12. ArrayList<String> ALS =newArrayList<String>();
    13.  
    14. ConfigurationSection file = Files.PolicePlayers.getPoliceplayer();
    15.  
    16. String strg ="Policeplayers";
    17.  
    18. Player p1 =(Player)arg0;
    19.  
    20.  
    21.            for(String strg1 : file.getStringList(strg)){
    22.  
    23.                 ALS.add(strg1);
    24.  
    25.              
    26.                 System.out.println(strg1);
    27.  
    28.  
    29.                 ALS.add(p1.getName().toString());
    30.  
    31.              
    32.  
    33.                 System.out.println("---     " + ALS);
    34.  
    35.                 file.set(strg, ALS);
    36.  
    37.                 Files.PolicePlayers.savePoliceplayer();
    38.  
    39.             }
    40.  
    41.             System.out.println("?_?");
    42.  
    43.         return false;
    44.     }
    45. }
    46.  

    Schon mal ein fettes Dankeschön im Voraus :)
     
    #1
  2. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Dann ist die StringList mit dem Key "Policeplayers" in der ConfigurationSection Files.PolicePlayers.getPoliceplayer() wohl leer. Gibt es die überhaupt (bzw. gibt es den Key)? Ist die Konfiguration geladen?
     
    #2
    Payno4 gefällt das.
  3. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Ja die Config ist geladen und die Section ist auch nicht leer.
    Aber wenn die leer wäre oder es die nicht geben würde ,dann würde es doch einen Fehler geben oder ? :)

    Code (Text):
    1.  
    2.     public static void loadDefaultPolicePlayers(){
    3.  
    4.         ArrayList<String> ALS =newArrayList<String>();
    5.  
    6.      
    7.         ALS.add("String");
    8.  
    9.         ALS.add("String");
    10.  
    11.         getPoliceplayer().addDefault("Policeplayers", ALS.toString());
    12.  
    13.         getPoliceplayer().options().copyDefaults(true);
    14.  
    15.         savePoliceplayer();
    16.  
    17.     }
    18.  
     
    #3
  4. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Nein, dann würde es keine Fehler geben, getStringList() gibt immer eine List<String> zurück, im Zweifelsfall eine leere, weshalb dann auch die for-Schleife übersprungen werden würde.
     
    #4
    Payno4 gefällt das.
  5. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Warum benutzt du überhaupt eine schleife statt
    Code (Text):
    1. ArrayList<String> ALS = deineYamlConfiguration.getStringList(strg)
    2. als.add(wasAuchImmer)
    3. deineYamlConfiguration.Set(strg, Als);
    4. //Speichern der Datei
     
    #5
    Payno4 gefällt das.
  6. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Weil wenn man das so oben wie du macht die anderen Strings gelöscht werden und dann nur der eine neue String darsteht , deswegen hab ich den Weg genommen erst alles in eine ArrayList zu tun um sie danach wieder einlesen zu können . :)
     
    #6
  7. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Ah ok :) Naja aber die Liste ist ja nicht leer
     
    #7
  8. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Dadurch wird doch erst alles In die Liste gepackt.
     
    #8
    Payno4 gefällt das.
  9. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Hast recht , hab das vorhin überlesen :) Danke , jetzt funktioniert es :D
     
    #9
  10. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Und wo bleibt mein gefällt mir? :(
     
    #10
  11. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Sry , habs natürlich noch nachträglich geliket :)
     
    #11