Zum Inhalt springen

Einlesen aus Datei und Schreiben in andere Datei


Empfohlene Beiträge

Geschrieben

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 ???

Geschrieben
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.

Geschrieben

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.

Geschrieben

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 ?

Geschrieben (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 von uenetz

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...