Blockweise einlesen

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo nochmals,

ich hätte noch eine Frage zum Einlesen aus einer Datei, und zwar lese ich jetzt mit dem LineNumberReader aus einer Datei ein. Leider ist aber die Zeile in meiner Datei schon so lange, dass das Ganze sehr unübersichtlich wird.
Daher möchte ich gerne eine ganzen Block (30 Zeilen auf einmal) lesen, diese 30 Zeilen sind dann für mich ein Datensatz

gibts so einen Stream in Java oder wie kann ich das mit dem geringsten Aufwand realisieren?

Danke.

lg
Michl
Code:
dateiIn = new LineNumberReader(new FileReader(System.getProperty("user.dir") + "\\Konfiguration\\Konfig.txt"));
while ((line = dateiIn.readLine()) != null) 
		{
		if (line.startsWith("Button")) 
		    {
		    cfgData = line.split(",");
		    MyButton button = new MyButton(cfgData[0],cfgData[1],cfgData[2],cfgData[3],cfgData[4],cfgData[5],cfgData[6],cfgData[7],cfgData[8],cfgData[9],cfgData[10],cfgData[11],cfgData[12],cfgData[13],cfgData[14],cfgData[15],cfgData[16],cfgData[17]);	    
		    add(button);
		    button.setVisible(true); 
		    }	
		if (line.startsWith("MitButton"))
		    {
		    cfgData = line.split(",");
		    MyButtonLabel buttonLabel = new MyButtonLabel(cfgData[0],cfgData[1],cfgData[2],cfgData[3],cfgData[4],cfgData[5],cfgData[6],cfgData[7],cfgData[8],cfgData[9],cfgData[10],cfgData[11],cfgData[12],cfgData[13],cfgData[14],cfgData[15],cfgData[16], cfgData[17], cfgData[18], cfgData[19], cfgData[20], cfgData[21], cfgData[22], cfgData[23], cfgData[24]);
		    add(buttonLabel);
		    }
		if (line.startsWith("WertAnzeige"))
		    {
		    cfgData = line.split(",");
		    MyWertAnzeige wertAnzeige = new MyWertAnzeige(cfgData[0],cfgData[1],cfgData[2],cfgData[3],cfgData[4],cfgData[5],cfgData[6],cfgData[7],cfgData[8],cfgData[9],cfgData[10],cfgData[11],cfgData[12],cfgData[13],cfgData[14],cfgData[15],cfgData[16],cfgData[17],cfgData[18],cfgData[19],cfgData[20]);
		    add(wertAnzeige);
		    }
		}
 

Wildcard

Top Contributor
wtf? :shock:
Mal eine andere Frage:
Was soll das werden? Bist du dir sicher das dein Dateiformat die cleverste Lösung ist?
Beschreib doch etwas den Hintergrund des Ganzen.
 

MQue

Top Contributor
ok, ich habe eine Oberfläche (ein JPanel auf einem JFrame), wenn man das Programm startet, dann werden von einer Textdatei die Attribute meiner Komponenten (Farbe, font, border aber auch die möglichen Werte, die möglichen Farben, die Variable, welche an die Komponente angefügt wird usw.) eingelesen und auf meinem JPanel dargestellt. Es wird mit einer anderen Klasse eine Verbindung mit TCP hergestellt.
wenn ich jetzt Daten bekomme, sollen sich die Komponenten auf meinem JPanel ändern.

eine klassische Visualisierung halt.

Das Einlesen von der Textdatei brauche ich momentan, ich werde aber, wenn ich mit dem oben beschriebenen fertig bin, einen Designer programmieren, wo ich mir eben das Design der Komponenten über den Designer einstelle und eben alles, was ich oben beschrieben habe, machen kann.



Vielleicht habt Ihr Vorschläge für mich.

Vielen DANK auf jeden Fall für die immersehr hilfrechen Antworten.

lg
Michl
 

Wildcard

Top Contributor
Michael1234 hat gesagt.:
ok, ich habe eine Oberfläche (ein JPanel auf einem JFrame), wenn man das Programm startet, dann werden von einer Textdatei die Attribute meiner Komponenten (Farbe, font, border aber auch die möglichen Werte, die möglichen Farben, die Variable, welche an die Komponente angefügt wird usw.) eingelesen und auf meinem JPanel dargestellt.
Vielleicht solltest du dir den Preference Store, die Properties Klasse oder eine der Möglichkeiten des XML-Serialisierens ansehen und mehr Logik in der betreffenden Klasse kapseln.
Dein Vorgehen scheint mir unsauber.
 

MQue

Top Contributor
Nö, unsauber würd ich nicht sagen, ich hab alles klar strukturiert in einzelnen Packages und Klassen aufgeteilt.
Mein Problem ist vielleicht, dass das Projekt immer erweitert werden soll und ich da eben höllisch aufpassen möchte, dass alles so einfach wie möglich zu erweitern ist.

Aus der Textdatei auslesen -> das wurde mir vorgegeben, mir ist klar, dass es bessere Methoden gibt aber das ist halt eine Vorgabe.


lg
 

Wildcard

Top Contributor
Michael1234 hat gesagt.:
Aus der Textdatei auslesen -> das wurde mir vorgegeben, mir ist klar, dass es bessere Methoden gibt aber das ist halt eine Vorgabe.
Properties liest auch aus einer Textdatei, aber der Zugriff ist sauberer. Du bekommst einfach zu einem Schlüssel einen Wert und das lässt sich dann recht sauber auslesen.
 

MQue

Top Contributor
kannst du mir da genaueres dazu sagen. Wie geht das bzw. gibts da schon irgendein Beispiel hier?

vielen dank
 

MQue

Top Contributor
ich komm doch nicht ganz klar mit den Properties.

ich muss ja aus einer Textdatei meine Werte einlesen. Die TextDatei ist soviel ich verstanden habe so aufgebaut:

Schlüssel=Wert !das ist ein Kommentar
Schlüssel=Wert #das ist auch ein Kommentar
Schlüssel=Wert

stimmt der Aufbau und wie kann ich das dann einlesen (mit load(InputStream in) habe ich gelesen aber wie implementiere ich das? ich übergebe den InputStream und gebe das ganze in eine while-Schleife?)
udn wie kann ich dann zwischen den einzelenen Datensätzen in meiner Datei unterscheiden. Meine Datensätze schauen ja dann so aus:

#Button 1
beschriftung=Aus
font=Arial
border=BeveledBorder

#Button 2
beschriftung=Status
font=Times New Roman
border=SoftBeveledBorder

usw.

Vielen DANK (für die Geduld) und die Antworten

lg
Michl
 

norman

Top Contributor
so kann deine property-datei nicht aussehen.

entweder bekommt jeder button eine eigene proterty-datei oder den keys (beschriftung, font, etc) müssen prefixe vorangestellt werden.
 

Wildcard

Top Contributor
Ist das Format festgelegt?
Sowas wie
button1.beschriftung=Aus
Lässt sich durch die properties eben deutlich eleganter lösen.
 

MQue

Top Contributor
Also meine *.properties- Datei sieht jetzt so aus (wie unten dargestellt) und ich kann einzelne Zeilen aus der Textdatei auslesen mit (wie unten darg.). Wie kann ich jetzt alle Attribute für z.B Button 1 einlesen und gleich in ein array schreiben?

Vielen dank für Eure Antworten!!

lg
Michl

Code:
String beschriftung = properties.getProperty("enable");
System.out.println("Das ist die Beschriftung: " + beschriftung);


Code:
#Button 1:
!INITIALISIERUNG	
button1.beschriftung     = Button1
button1.icon             = null
button1.font             = Arial
button1.style            = 2
button1.umrandung        = BeveledBorder
button1.hintergrundFarbe = blau
button1.textFarbe        = schwarz
button1.schriftGroesse   = 8
button1.buttonBreite     = 60
button1.buttonHoehe      = 30
button1.enable           = enabled
button1.xPos             = 700
button1.yPos             = 60
button1.textPos          = 0
button1.textBorder       = null
button1.durchsichtig     = null
!LOGIK
button1.variArrIndex     = 0 

#Button 2:
!INITIALISIERUNG	
button2.beschriftung     = Button1
button2.icon             = null
button2.font             = Arial
button2.style            = 2
button2.umrandung        = BeveledBorder
button2.hintergrundFarbe = blau
button2.textFarbe        = schwarz
button2.schriftGroesse   = 8
button2.buttonBreite     = 60
button2.buttonHoehe      = 30
button2.enable           = enabled
button2.xPos             = 700
button2.yPos             = 60
button2.textPos          = 0
button2.textBorder       = null
button2.durchsichtig     = null
!LOGIK
button2.variArrIndex     = 0
 

MQue

Top Contributor
keine Ahnung, auf jeden Fall stehts in Wikipedia so drinnen.

Mein Problem ist jetzt eben, dass ich zuerst alles mit button1. auslese und dann alles mit button2. Ich habs jetzt wie unten mal ausgelesen und da kommt alles durcheinander an.

Kannst du mir da einen Tipp geben, wie ich das so wie oben beschrieben auslesen kann?

vielen Dank.


Code:
Enumeration e = properties.keys();
	while(e.hasMoreElements())
	    {	 
	    String alias = (String)e.nextElement();
	    System.out.println(alias + " --> " + properties.get(alias));
	    }
 

Wildcard

Top Contributor
Die enumeration müsste erst sortiert werden.
Wenn's mein Programm wäre würde ich eine statische Methode anbieten um ein Property auszulesen.
Jedes GUI Element kennt seinen Präfix und initialisiert sich selbst in dem es sich die values seiner Keys holt.
 

MQue

Top Contributor
ja und wie mach ich das wenn das Prefix button1. ist, Wie würdest du das machen (vielleicht ein paar zeilen Code)
Soll ich jedes Attribut einzeln auslesen, kann ich vielleicht dafür auch eine HashMap verwenden oder geht das dann irgendwie ganz kurz
Vielen Dank
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V txtDatei nicht zeilenweise, sondern blockweise einlesen Allgemeine Java-Themen 19
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
killig Textdatei einlesen und in HashMap speichern (duplikate entfernen) Allgemeine Java-Themen 12
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
Master3000 Java Datei mehrmals einlesen Allgemeine Java-Themen 4
R Sonderzeichen aus Datei einlesen und in Datei ausgeben. Allgemeine Java-Themen 17
M Website Quelltext mit Java einlesen Allgemeine Java-Themen 10
L Datein einlesen. Allgemeine Java-Themen 5
S Rückgabe einer HttpURLConnection für eine Seite einlesen bei der man eingeloggt ist..? Allgemeine Java-Themen 5
Thallius Key/Value Table in Klasse einlesen Allgemeine Java-Themen 14
F Datei in String-Array einlesen Allgemeine Java-Themen 8
N Datei Zeilenweise Einlesen, Versteckte Zeichen Allgemeine Java-Themen 5
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
Henrithebegiinerofjava Erste Schritte Werte in Eingabefelder einlesen und wiederholen lassen. Allgemeine Java-Themen 3
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
J Input/Output Word Datei einlesen, verarbeiten und abspeichern Allgemeine Java-Themen 3
K RTF-Dokumente einlesen Allgemeine Java-Themen 1
E Compiler-Fehler Unicode Zeichen einlesen Allgemeine Java-Themen 1
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
J Java 8 Datei einlesen Allgemeine Java-Themen 1
S Handschrift einlesen & darauf reagieren OCR Allgemeine Java-Themen 2
K Input/Output String aus einer Datei einlesen und in anderer Datei speichern Allgemeine Java-Themen 20
J Mehrere Wörter getrennt in eine Array einlesen, wie ? Allgemeine Java-Themen 7
R Datei einlesen mit Win7 Allgemeine Java-Themen 8
E Best Practice LaTeX aus Textdateien einlesen und bearbeiten Allgemeine Java-Themen 4
KaffeeFan Bilddatei einlesen und bearbeiten? Allgemeine Java-Themen 5
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
T Geschlossen: Apache POI - Excel einlesen Allgemeine Java-Themen 0
J BufferedReader Datei einlesen Allgemeine Java-Themen 8
L Level einlesen Allgemeine Java-Themen 9
J Jar Datei mit anderer .jar einlesen Allgemeine Java-Themen 4
J Best Practice Java 8 Datei einlesen und verarbeiten Allgemeine Java-Themen 2
M Exceltabelle in Java erstellen und Werte einlesen Allgemeine Java-Themen 32
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
B Java - einlesen von Dateien und herausschneiden von XML Dokumenten Allgemeine Java-Themen 5
T xls-Datei per Apache Commons CsvParser einlesen UTF-8 Zeichen russische Zeichen Allgemeine Java-Themen 2
D Wörter aus Datei einlesen Allgemeine Java-Themen 9
D Input/Output Zeilen werden "ignoriert" beim Einlesen aus einer Textdatei Allgemeine Java-Themen 3
Ananaskirsche Input/Output Zeile aus Datei einlesen Allgemeine Java-Themen 10
N Einlesen einer Kostenmatrix, Verarbeitung mit Nearest Neighbor Allgemeine Java-Themen 1
OnDemand String aus html einlesen Allgemeine Java-Themen 2
H Excel Datei einlesen mit Apache POI Allgemeine Java-Themen 1
P Input/Output Datei einlesen per Scanner(f) - mit Cron gehts nicht Allgemeine Java-Themen 1
OnDemand Dateien einlesen und vergleichen Allgemeine Java-Themen 1
AssELAss XML Datei einlesen und anschließen formatiert ausgeben in Datei Allgemeine Java-Themen 0
L einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen Allgemeine Java-Themen 5
L Input/Output Datei einlesen und Inhalt in Array schreiben Allgemeine Java-Themen 3
MiMa Umlaute beim Einlesen von Dateinamen Allgemeine Java-Themen 12
C Verzeichnis ins JMenu einlesen Allgemeine Java-Themen 2
M Parameter-Datei einlesen (zeilenweise); Dateiintegrität Allgemeine Java-Themen 7
J TextArea einlesen, mit string Allgemeine Java-Themen 2
I Input/Output .csv Datei einlesen Allgemeine Java-Themen 4
Kenan89 Schnelleres Einlesen von Images Allgemeine Java-Themen 6
A TXT File einlesen unterschiedliche Zeilenlänge Allgemeine Java-Themen 9
A Input/Output Bild in Java einlesen und analysieren! Allgemeine Java-Themen 8
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
R String einlesen Allgemeine Java-Themen 8
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
K XML Quelltext Website einlesen?! Allgemeine Java-Themen 3
M File einlesen während es beschrieben wird.. Allgemeine Java-Themen 6
S Spaltenweise einlesen Allgemeine Java-Themen 9
K JAVA Datei einlesen Allgemeine Java-Themen 2
S Input/Output Latin-9 (ISO 8859-15) Textdatei einlesen Allgemeine Java-Themen 2
M Erste Schritte alle xmlFiles in zugehörige pdfFiles einlesen Allgemeine Java-Themen 4
T XML einlesen Allgemeine Java-Themen 14
M Eclipse Stackoverflow beim Einlesen von großen Bilder in kd Baum Allgemeine Java-Themen 15
C Strings in Excel einlesen! Allgemeine Java-Themen 2
K htmlCode einlesen, Speicherüberlauf? zu viel code? Allgemeine Java-Themen 21
F JavaMail - Lokale eMail-Datei einlesen und parsen? Allgemeine Java-Themen 9
K CSV einlesen und speichern Allgemeine Java-Themen 7
Q Text Datei einlesen Allgemeine Java-Themen 27
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
M PDF einlesen mit PDFBox Allgemeine Java-Themen 3
L Benutzereingabe einlesen Allgemeine Java-Themen 5
M Einlesen einer Datei in Java Allgemeine Java-Themen 3
D class Datei einlesen Allgemeine Java-Themen 4
B StringBuilder von File einlesen Allgemeine Java-Themen 8
N Probleme mit Umlauten beim Einlesen Allgemeine Java-Themen 6
M Txt einlesen & Objekte erzeugen Allgemeine Java-Themen 2
E Leerzeichen verschwinden beim Einlesen von .txt-Dateien Allgemeine Java-Themen 5
A JExcel Formel einlesen Allgemeine Java-Themen 2
G Java PDF-Einlesen Allgemeine Java-Themen 9
H excel einlesen und in db schreiben Allgemeine Java-Themen 2
A Datei als Object einlesen und das Object als Singleton instance setzen. Allgemeine Java-Themen 13
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
C Datei als ASCII text einlesen ? Allgemeine Java-Themen 16
M UTF-8 Datein einlesen, Zeichenproblem Allgemeine Java-Themen 9
H Textdatei (1GB) einlesen und verarbeiten Allgemeine Java-Themen 15
D Shortcut statt Datei einlesen Allgemeine Java-Themen 2
E HTML File mit Umlaute einlesen Allgemeine Java-Themen 8
J Konfigurationsdatei einlesen Allgemeine Java-Themen 21
G BigInteger aus DB nach einlesen in JAVA eingeklammert Allgemeine Java-Themen 3
trash mehrzeilige .txt einlesen/formatieren Allgemeine Java-Themen 8
B Applet .java Datei einlesen, anzeigen Allgemeine Java-Themen 3
S Textzeile einlesen Allgemeine Java-Themen 4
S Daten in Array als INT-Wert einlesen - jetzt als csv Datei Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben