txt in Variablen

Isika

Mitglied
Hallo,
ich bin neu hier und habe auch direkt mal eine Frage :p

Und zwar habe ich eine .txt Datei welche wie folgt aufgebaut ist:

1.1
1200
40
200
600
1800
3200
5000

1.2
1200
80
400
1200
3600
6400
9000

und das relativ oft mit ähnlichen Zahlen.

die Zahlen ( hier 1200 bis 5000 bzw. 1200 bis 9000) sollen in verschiedenen Variablen gespeichert werden.
Und zwar so, dass jeweils nur die gefragte Variable dem Hauptprogramm zurückgegeben wird.

Leider habe ich keine Idee wie ich die "Zahlenpakete" trennen soll...d.h. ich schaffe es nur die Datei als ganzes einzulesen.
Java:
        LinkedList<String> rows = new LinkedList<String>();
        try {
            for(String tmp = null; (tmp = reader.readLine()) != null;) {
                rows.add(tmp);
            }
        } catch(IOException e) {
            // Fehler beim Einlesen
            e.printStackTrace();
            close(reader);
            return;
        }

PS: sollte es die Sache leichter machen könnte die Datei auch noch verändert werden.
 

nrg

Top Contributor
Und zwar so, dass jeweils nur die gefragte Variable dem Hauptprogramm zurückgegeben wird.

den satz verstehe ich nicht ganz.

aber vllt bietet sich hier eine HashMap<String, List<String>> an. könnte natürlich auch einfach in einer Klasse abgebildet werden. bis jetzt weiß ich halt noch net so ganz, wie du das meinst :)
 

Michael...

Top Contributor
Leider habe ich keine Idee wie ich die "Zahlenpakete" trennen soll...d.h. ich schaffe es nur die Datei als ganzes einzulesen.
Stimmt nicht ;-) Die Datei wird zeilenweise eingelesen, damit sind die "Zahlenpakete" getrennt.
Warum eine LinkedList? Warum nicht einfach eine ArrayList?

Woran erkennt man welche Variable, die dem Hauptprogramm zurückgegeben werden soll?
 

Isika

Mitglied
mein Gedankengang war ungefär so, dass wenn ich Variable 2 von 2.3 brauche ich irgendwie zu 2.3 in der .txt Datei Springe und von dort dann 2 Zeilen weiter springe und das dann zurück gebe. Die Variable würde dann bei jedem Aufruf überschrieben werden.

Meinst du dass ich die Datei einfach in ein 2 dimensionales Array speichere und jeder Zahlenblock eine neue Zeile wird? So dass ich dann die einzelnen Werte ansprechen könnte?
 

Michael...

Top Contributor
Soll denn nur einmalig, z.B. der zweite Wert von 2.3 ausgelesen werden? Oder muss während des Programmablaufs mehrfach auf die Daten zugeriffen werden?

Was soll das werden? Eventuell gibt es da andere Lösungsmöglichkeiten.
 

Isika

Mitglied
Wenn es fertig ist soll es so etwas ähnliches wie Monopoly sein.
2.3 wäre also in dem Fall ein Spielfeld und die Zahlen wären dann verschiedene Transaktionen welche durchgeführt werden können.

Es muss schon öfter darauf zugegriffen werden können, aber eigentlich muss nur eine + oder - Rechnung durchgeführt werden.

edit
[JAVA=42]
while(readOn){
line = reader.readLine().trim();
zeile ++;
if(line.startsWith(Feldvariable))
}
[/code]
so hab ich mir das ca vorgestellt...meint ihr das kann frunktionieren
 
Zuletzt bearbeitet:

Isika

Mitglied
ok würde hier gerne eine Funktion wie "suche(String sektion, int index)" machen, die ich dann zum Beispiel mit suche("1.2", 2) aufrufen kann.

Die Funktion öffnet die Datei und liest diese zeilenweise aus. Jede Zeile wird überprüft, ob diese die Sektion ist. Wurde die Sektion gefunden, werden noch X zeilen gelesen, wobei X die Zahl ist, die du haben willst. Diese Zeile merkst du dir, schließt die Datei und gibst das Ergebnis zurück.
so hat mir das ein Freund empfohlen, aber der kann kein Java :(
kann mir bitte jemand ein kurzes codebeispiel schreiben weil ich im Moment zwar weiß was ich machen will aber es nicht schaffe es umzusetzen
 

AmunRa

Gesperrter Benutzer
Java:
public class Test
{
	
	public static void main(String[] args) throws IOException{
		
		System.out.println(getLineInBlock("2.3",2,2));
	}
	
	public static String getLineInBlock(String block,int line,int nrOfRowsInBlock) throws IOException{
		String[] blockArray= readBlock(block,nrOfRowsInBlock);
		return blockArray[line-1];
	}
	
	public static String[] readBlock(String block, int nrOfRowsInBlock) throws IOException{
		String[] blockArray= new String[nrOfRowsInBlock];
		
		BufferedReader buf= new BufferedReader(new InputStreamReader(new FileInputStream(new File("C:\\Michael\\Test.txt"))));
		
		String line;
		while(!block.equals(line=buf.readLine())&&line!=null){
			;
		}
		
		if (line!=null){
			for (int i=0;i<nrOfRowsInBlock;i++){
				blockArray[i]=buf.readLine();
			}
			
		}
		
	        buf.close();	
		return blockArray;
	}
	
}

Das macht jetzt so ca. das wasdu beschreiben hast. Aber vl wäre es doch besser, wenn du das ganze File einmal liest und dir den Inhalt in einem geeigneten Object speicherst.

z.B könntest du dir eine Klasse Block Machen und alle Blöcke auslesen und z.B in einer Map speichern (wenn du schon einmal mit einer Map gearbeitet hast. sonst vl in einer Liste)
 
Zuletzt bearbeitet:

Aldimann

Bekanntes Mitglied
Grüzi Wau!

ich glaube mit einer schlichten txt Datei wirste da eher in Pfuscherein hinein laufen.

Du weißt ja ganz genau welchen Wert du konkret haben willst. Daher bietet sich für die wohl einer eine Properties-Datei an.

Also quasi eine Datei die viele eindeutige Keys beinhaltet und diesen Keys sind values zugeordnet. Du liest die Datei als Properties (schau dir die Klasse dazu an) ein und brauchst dann nur noch den Key und du bekommst die Values.

Noch nen Tipp. Mehrfacher zugegriff auf Dateien immer vermeiden! Les die Datei ein und speicher sie dir irgendwo in ner Variable weg und mach den Stream wieder dicht!

Mit den Infos solltest du erstmal weiter kommen... ;)
 

ARadauer

Top Contributor
also wir machen ja gerne objektorientierte Programmierung!
1.1
1200
40
200
600
1800
3200
5000

Was bedeutet das? Diese Werte haben ja sicher irgend einen Fachlichen Bezug oder?
Was ist 1200? Was ist 40? Bilden diese Werte irgend ein Objekt in der realen Welt ab? Wenn ja mach so ein Objekt und speichere die Werte. Wenn 1.1 eine koordinate ist, würde ich da auch ein ein 2 Dim Array [][] nehmen wo dan diese Objekte drinnen sind...

Ich würd also das komplette File einmal einlesen und dann im Speicher halten...
 

Isika

Mitglied
hmm stimmt eignetlich mit einem String würde sich das ganze auch machen lassen und wäre am ende wahrscheinlich noch schneller
und vor allem objektorientiert

sonst wäre das jetzt mein Lösungsansatz gewesen...aber da hab ich halt die Mehrfachzugriffe
Java:
public String suche(String fileName, String section, int index) {
  String strLine;
  String ret = null;
  BufferedReader br = new BufferedReader(new FileReader(fileName));
 
  while ((strLine = br.readLine()) != null) {
    if(strLine.equals(section)) {
      for(int i=0; i<index; i++) {
        strLine = br.readLine();
      }
      ret = strLine;  // Fund merken
      break; // while-Schleife verlassen
    }
  }
  br.close();  // Datei schließen
  return ret; // letzten Fund zurückgeben

Was bedeutet das? Diese Werte haben ja sicher irgend einen Fachlichen Bezug oder?
Was ist 1200? Was ist 40? Bilden diese Werte irgend ein Objekt in der realen Welt ab?
Letztendlich ist 1.1 ein punkt auf einem Spielfeld (keine Koordinate, eher der Name von dem Feld)
1200 ist der Kaufpreis für das feld und die darauffolgenden Mietpreise (ähnlich wie bei Monopoly werden die dann teurer je besser das Feld ausgebaut ist)

ich glaube mit einer schlichten txt Datei wirste da eher in Pfuscherein hinein laufen.
Du weißt ja ganz genau welchen Wert du konkret haben willst. Daher bietet sich für die wohl einer eine Properties-Datei an.
mit Property Dateien hab ich noch nicht gearbeitet aber werde mir dazu mal was durchlesen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Variablen-Werte ändern sich nicht... wieso?? Java Basics - Anfänger-Themen 4
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5
H Objekt überschreibt Variablen vorheriger Objekte Java Basics - Anfänger-Themen 2
P Variablen in Excel speichern Java Basics - Anfänger-Themen 6
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
J Vererbung Variablen aus Superklasse übernehmen Java Basics - Anfänger-Themen 2
L Variablen aus TXT Datei auslesen und vergleichen. Java Basics - Anfänger-Themen 5
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
L zwei Variablen gleichzeitig übergeben Java Basics - Anfänger-Themen 6
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
G Alle Objekte und Variablen automatisch ausgeben Java Basics - Anfänger-Themen 7
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
K Enigma, variablen übernehmen Java Basics - Anfänger-Themen 6
F Erste Schritte Dynamische Variablen Java Basics - Anfänger-Themen 15
N Variablen zurück casten Java Basics - Anfänger-Themen 3
M Repräsentation von variablen/OOP Java Basics - Anfänger-Themen 2
B Probleme beim einlesen einer short variablen für einen Array Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben