Input/Output Zahlen aus Text-Datei auslesen

Strahlungsleck

Aktives Mitglied
Hallo java-Gemeinde,

ich habe eine Textdatei wo bestimmte Werte enthalten sind (dazu später mehr). Wie ich eine Datei auslesen
und z.B. auf der Konsole wiedergabe weiß ich ja. Und bekomme ich auch hin.
Nun möchte ich aber pro Zeile Werte auslesen. Der Inhalt der Datei sieht wie folgt aus:

R600,500
V200,200
V200,300
usw.

Das R bzw. V steht immer vorweg der Zahl. Die beiden Zahlen werden nur durch ein komme getrennt
und können bis maximal 5 stellen haben.
Nun weiß ich ehrlich gesagt nicht wie genau bzw. mit welcher Methode ich am besten die erste Zahl (bis zum Komma)
auslesen soll.

Es geht darum das die Werte in jeweils einer Integer Variablen gespeichert werden.

Vielen Dank im Voraus. Und nein ich erwarte hier keine komplette Lösung sondern Ideen/Tips/Ratschläge damit
ich das selber verstehe wie ich sowas angehen muss bzw. lösen kann.

Hier mal die vordefinierte Auslesen Klasse
Java:
package main;
import java.awt.Frame;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class Main {

public static void main(String[] args) {
		
		try {
			BufferedReader in = new BufferedReader(new FileReader("text.txt"));
			String zeile = null;
			while ((zeile = in.readLine()) != null) {
				zeile.trim();
				System.out.println("Gelesene Zeile: " + zeile);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	}
 
Das sollte als Denkanstoss genügen:
Java:
String str = "R600,500";
char zeichen = str.charAt(0); // für R
String[] strings = str.substring(1).split(",");
int ersteNummer = Integer.parseInt(strings[0]); // für 600
[...]
 
denk dir auch gleich eine datenhaltung dafür aus. am besten einfach eine klasse mit den 3 attributen und davon eine liste.
 
jap kann das nun sofort einsetzen.

Mal ne andere frage du hast jetzt in deinem Beispiel folgendes genutzt:

Java:
char zeichen = str.charAt(0); // für R

Kann ich hier auch folgendes Verwenden:
Java:
zeile.startsWith("R")

Oder empfehlst du mir dein Weg ?
 
denk dir auch gleich eine datenhaltung dafür aus. am besten einfach eine klasse mit den 3 attributen und davon eine liste.


Die Aufgabe an sich ist um einiges komplexer geht ja mir darum erstmal den Anfang hinzubekommen.

R = Raum das heißt es soll später eine Raumklasse geben die ein rectangel in der Entsprechenden größe erzeugt
Dieses Rechteck ist in 100 x 100 Blöcken unterteilt.

wo Vitrinen mit größe von 100 x 100 untergebracht werden.

Aber wie gesagt. Das kommt später erstmal dran. Möchte erstmal das Auslesen, Fehlerabfangen und die Übergabe der
Inhalte hinbekommen. Danach kommen Stück für Stück die anderen Klassen dran.
 
Danke für Eure hilfe. Habe das nun erstmal soweit geschafft. Und muss gucken wie ich die nachfolgende Schritte realisieren kann aber werde da 100 pro noch Fragen haben xD
 

Neue Themen


Zurück
Oben