Datei auslesen , Leerzeile überspringen

Darkest_Sun

Mitglied
Hallo Community,

Ich habe einen Code geschrieben der eine Datei zeilenweise ausliest.
Es funktioniert alles super.

Wie bekomme ich es jetzt aber hin das er bei einer Leerzeile nicht stoppt? Bzw die einfach überspringt?

Vielen Dank:)
 

Darkest_Sun

Mitglied
Java:
public CEinlesen(String Pfad)
	{
		try
		{
			File Datei = new File(Pfad);
			
			BufferedReader Line = new BufferedReader(new FileReader(Datei));
			
			if (!Datei.exists()){
				throw new Exception("Die angegbene Datei exsistiert nicht");
			}
				
			if (!Datei.isFile()){
				throw new Exception("Der angegebene Pfad ist keine Datei");
			}
				
			if(!Datei.canRead()) {
				throw new Exception("Die angegebene Datei kann nicht gelesen werden");
			}
			
			while(Line.ready()) 
			{

				String Zeile = Line.readLine();
				...
                                             ...
                                             ...
			
			}
			
			Line.close();
			
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}		
		
	}

Da ich aus den Zeilen allerdings Arrays erstelle kommt dann eine Fehlermeldung wenn er versucht aus einer Leerzeile ein Array zu erstellen :/
 

nrg

Top Contributor
würde ich so in etwa einlesen:

Java:
            String Zeile = Line.readLine();
            while((Zeile = Line.readLine()) != null) 
            {
                        if (!Zeile.isEmpty())
                        {
                                    //.....

                        }
            }

btw: Variablen sind lowerCamelCase !!

edit: achja und das Einlesen hat in einem Konstruktor nichts verloren!
 
Zuletzt bearbeitet:

Darkest_Sun

Mitglied
Klappt perfekt:)

Vielen dank. Hatte sowas in die Richtung gedacht. Aber hab nicht an die If-Schleife gedacht um die leeren Zeilen dann auch abzufangen:)


Perfekte schnelle Antworten!
Geniales Forum:)

Sun
 

nrg

Top Contributor
schreib doch mal im hauptthread, was du an slaters anwort nicht vestehst. dann kann man dir helfen. im moment würde ich so ziemlich das gleiche schreiben, was slater gemacht hat:

les die Datei zeilenweile ein und mach dir eine Map<String, Autohaus>. Nach jedem Durchlauf schaust du, ob das Autohaus bereits in der Map exisitert. Wenn ja, addest du die Autos (am besten auch in einer eigenen Klasse) zu dem Autohaus. Ansonsten erstellst du ein neues Autohaus, fügst die Autos dazu und packst das Autohaus in die Map.

edit: aber bitte im mainthread weiter!
 

Darkest_Sun

Mitglied
Moin liebe Helfer und Helferinnen :)

ich dachte das sich das Thema erledigt hat, nach einigen Test hat sich aber herausgestellt das er die erste Zeile grundsätzlich überspringt. Unabhängig davon obs eine Leerzeile ist oder nicht:/
den Rest macht er, auch mit Leerzeilen.

Hat jemand eine idee wieso? Hab alles genauso eingefügt wie unten geschrieben:(

Vielen Dank!
 

ChrisKu

Bekanntes Mitglied
In Zeile 9 ließt Du die erste Zeile der Datei, am Beginn Deiner Schleife (Zeile 26) ließt Du die nächste Zeile und erst diese verarbeitest Du dann. Also: Nicht in Code Zeile 9 schon die erste Zeile lesen. D.h.

Code:
String Zeile;
 

Ähnliche Java Themen

Neue Themen


Oben