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 ???
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.
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.
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.
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 ?
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)
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
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*
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden