Pseudo23 Geschrieben 25. März 2013 Geschrieben 25. März 2013 public static void main(String[] args) throws IOException { File f = new File("adressen.csv"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); //String zeile = ""; String zeile1 = br.readLine(); System.out.println(zeile1); String zeile2 = br.readLine(); System.out.println(zeile2); String zeile3 = br.readLine(); System.out.println(zeile3); String zeile4 = br.readLine(); System.out.println(zeile4); String zeile5 = br.readLine(); System.out.println(zeile5); String zeile6 = br.readLine(); System.out.println(zeile6); String zeile7 = br.readLine(); System.out.println(zeile7); String zeile8 = br.readLine(); System.out.println(zeile8); String zeile9 = br.readLine(); System.out.println(zeile9); String zeile10 = br.readLine(); System.out.println(zeile10); String zeile11 = br.readLine(); System.out.println(zeile11); //while ((zeile = br.readLine()) != null) { // System.out.println(zeile); // } br.close(); try { FileWriter fw = new FileWriter("adressen1.csv"); BufferedWriter bw = new BufferedWriter(fw); bw.write("Name: \t\t\t " + zeile1); bw.newLine(); bw.write("Straße: \t\t" + zeile2); bw.newLine(); bw.write("Plz/Ort: \t\t " + zeile3); bw.newLine(); bw.newLine(); bw.write("Name: \t\t\t " + zeile5); bw.newLine(); bw.write("Straße: \t\t" + zeile6); bw.newLine(); bw.write("Plz/Ort: \t\t " + zeile7); bw.newLine(); bw.newLine(); bw.write("Name: \t\t\t " + zeile9); bw.newLine(); bw.write("Straße: \t\t" + zeile10); bw.newLine(); bw.write("Plz/Ort: \t\t " + zeile11); bw.close(); } catch (IOException e) { System.err.println("Fehler"); } } Ich komm einfach nicht drauf, dass ich Code sparen kann. Ich moppel da einfach alles doppelt, kann mir da jemand weiterhelfen oder kleine Tipps geben, wie ich das einfacher machen kann ??? Zitieren
flashpixx Geschrieben 25. März 2013 Geschrieben 25. März 2013 Benutze eine Schleife, ggf eine Array-Struktur, wenn Du immer blockweise 10 Zeilen lesen willst. Zitieren
lilith2k3 Geschrieben 25. März 2013 Geschrieben 25. März 2013 Benutze eine Schleife, ggf eine Array-Struktur, wenn Du immer blockweise 10 Zeilen lesen willst. Warum 10? Es sieht eher nach 3x3 aus und nach jeder dreiergruppe wird einfach eine Zeile ausgelassen (warumauchimmer), da Zeile 4 und Zeile 8 nicht genutzt werden. Zitieren
flashpixx Geschrieben 25. März 2013 Geschrieben 25. März 2013 Es sieht eher nach 3x3 aus und nach jeder dreiergruppe wird einfach eine Zeile ausgelassen (warumauchimmer), da Zeile 4 und Zeile 8 nicht genutzt werden. Stimmt, hatte ich gar nicht gesehen. Hab mich nur an der Anzahl an Variablen festgehalten (okay, dann hätten es 11 sein müssen). Mein Fehler. Zitieren
Pseudo23 Geschrieben 26. März 2013 Autor Geschrieben 26. März 2013 Ich versuche es gerade anders zu lösen. String[] tokens = adresse.split(";"); Adresse adresse1 = new Adresse(); adresse1.setFirstName(tokens[0]); adresse1.setSecondName(tokens[1]); adresse1.setStreet(tokens[2]); adresse1.setHousenumber(tokens[3]); adresse1.setPlz(tokens[4]); adresse1.setCity(tokens[5]); for (String token : tokens) { System.out.println(token); } So für eine Zeile funktioniert das wirklich super, ich weiß nur nicht wie ich 2 weitere Zeilen hinbekomme. Kann ich das nicht irgendwie in einer ArrayList speichern ? Falls ja wie ? Zitieren
flashpixx Geschrieben 26. März 2013 Geschrieben 26. März 2013 Kann ich das nicht irgendwie in einer ArrayList speichern ? Falls ja wie ? siehe http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add(E) Zitieren
uenetz Geschrieben 26. März 2013 Geschrieben 26. März 2013 (bearbeitet) Ich versuche es gerade anders zu lösen. So für eine Zeile funktioniert das wirklich super, ich weiß nur nicht wie ich 2 weitere Zeilen hinbekomme. Kann ich das nicht irgendwie in einer ArrayList speichern ? Falls ja wie ? Na, wenn es bei einer Zeile funktioniert, musst Du dies wiederholen, bis EOF oder NULL. BufferedReader br = null; try { br = new BufferedReader(new FileReader("adressen.csv")); String zeile = ""; while((zeile = br.readLine()) != null) { // gebe die Zeile aus oder verarbeite die Informationen weiter } } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null) br.close(); } catch (IOException ex) { ex.printStackTrace(); } } Bearbeitet 26. März 2013 von uenetz Zitieren
Pseudo23 Geschrieben 26. März 2013 Autor Geschrieben 26. März 2013 Ja, das ich das ganze wiederholen muss, ist klar. Aber es wiederholt sich nur die selbe Zeile die andere wird gar nicht angefasst. *Ärgerlich* Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.