Input/Output bestimmte Zeilen in .txt Dateinen überschreiben

BennIY

Mitglied
Guten Abend Community,

Ich bin imsteiger von C# und muss nun gezwungenermaßen auf Java umsteigen kann mich aber nicht mit Konsolenanwendungen rumdrücken.

Ich muss Dateien erstellen und bestimmte Elemente überschreiben dies kann so aussehen:

Name=BennIY
Rang=3
Bezeichnun=Variable

Nun muss ich wenn noch nicht existierend die Bezeichnung in eine .txt schreiben, und öfter die Variable im scrip abspeichern. Wie kann ich diese Zeile selektieren und alles hinterm "=" überschreiben und speichern?

Wie kann ich alles hinterm "="zeichen in eine variable speichern?

Zum Thema Laden und Speichern google ich schon 2-3h es gibt aber noch viele offene Fragen.
Mir geht es hauptsächlich um das auswählen der Zeile und das Überschreiben des Textes. Gibt es dazu Funktionen oder Codeschnippsel villeicht auch Stichwörter die ich googlen kann um bessere Ergebnisse zu finden ?
 

HimBromBeere

Top Contributor
Du hast I/O Java gegoogelt und nichts Sinnvolles für dich gefunden? Kann ich mir kaum vorstellen. Wie auch immer, du brauchst, um überhauot irgendwas lesen zu können, einen Reader (z.B. den
Code:
FileInputStream
) und zum Schreiben einen Writer (z.B. den
Code:
FileOutputStream
).

Nach einem bestommten Zeichen suchst du mittels
Code:
einString.indexOf("=")
, alles ab diesem Zeichen bekommst du dann mittels folgendem Audruck:
Java:
einString.subString(einString.indexOf("="));
 
Zuletzt bearbeitet:

BennIY

Mitglied
Ich habe bei google gefunden wie ich Variablen speicher, einzelne Variablen ne neue Zeile anfange und wie ich Zeile für Zeile ausgebe aber ich fand nicht wie ich eine bestimmte Zeile finde in dieser zeile alles auser. . . überschreibe.
Bekomm ich per
Java:
einString.subString(einString.indexOf("="));
alles nach dem = und zähl das = noch dazu?
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Hallo,

das geht nicht.

Du liest die Datei, manipulierst sie, und schreibst sie dann ganz neu...

Gruß,
Martin
 

BennIY

Mitglied
Wie soll das gehen, ich möchte bei "Name=myName" das myName in einer Variable haben.
Und ich möchte beim Beenden des Programms die Variable die nun Manipuliert wurde wieder hinter Name= speichern.
 

HimBromBeere

Top Contributor
Wie soll das gehen, ich möchte bei "Name=myName" das myName in einer Variable haben.
Wo ist das Problem?

Java:
String zeile = einBufferedReader.readLine();
String myName = zeile.subString(zeile.indexOf("=") + 1);
Das Ganze in einer Schleife, die bis EOF durchläuft und fertig. Bearbeitung der Dazei - wie Marczinek bereits erwähnt hat - NACH dem Lesen oder vorher, in keinem Fall gleichzeitig...
 
G

Gast2

Gast
Java:
while ((line = einBufferedReader.readLine() != null) {
  if (line.startsWith("Name")) {
    // bearbeite line
  }
 
  lines.add(line);
}

// und wieder zurückschreiben
 

HimBromBeere

Top Contributor
Du könntest z.B. alles VOR dem Gleichheitszeichen erstmal überprüfen auf "Name", "Rang" und "Bezeichnung".
Also sowas wie:
Java:
if (key.equals("Name") {...}
else if (key.equals("Rang") {...}
else if (key.equals("Bezeichnung") {...}
else {// Fehlercode}
Mit der
Code:
EOF
hat das erstmal ja nix zu tun. Für
Code:
EOF
brauchst nur zu prüfen, ob die gerade eingelesene Zeile
Code:
null
ist.
 

BennIY

Mitglied
@ErikeB ich verstehe. . . was bewirkt diese Anweisung
Java:
 lines.add(line);

@Marcinek auf dieser seite war ich, habe bessere anleitungen gefunden zudem geht es mir um das Schreiben hinter bestimmte Dinge und nicht allgemein um das Schreiben in eine Datei.

@HimBromBeere was bedeutet key.equals?
 
Zuletzt bearbeitet:

BennIY

Mitglied
Java:
while ((line = accFormat.readLine() != null) {
  if (line.startsWith("Name")) {
    String zeile = accFormat.readLine();
    String Spieler[playerid][name]= zeile.subString(zeile.indexOf("=") + 1);
  }
 
  lines.add(line);
}
kann ich damit den mane des spielers in der Arry speichern?
und welcher type hat line?
 

HimBromBeere

Top Contributor
Übrigens: du liest mit jedem Schleifendurchlauf gleich zwei Zeilen ein, die "Namens"-Zeile und direkt danach die darauf folgende Zeile (die "Rang"-Zeile im Bsp.). Allerdings liest du nur von der zweiten überhaupt irgendwas aus. Soll heißen: Mach Ziel e 3 weg und ersetze alle
Code:
zeile
-Vorkommen durch
Code:
line
. Des Weiteren erstellst du mit jedem Schleifendurchlauf ein neues Array, was ziemlich doof ist (String gehen als Index außerdem sowieso nicht...). Du suchst wahrscheinlich eher sowas wie:
Java:
spieler[playerID] = line.subString(zeile.indexOf("=") + 1);
 

irgendjemand

Top Contributor
@TO
ich würde dir hier entgegen aller anderen post immer noch [japi]Properties[/japi] empfehlen ... da du ja scheinbar nicht die grundlagen beherschst dir sowas selbst zu bauen ...

um eine Properties zu laden brauchst du erstmal einen stream ...
hierbei kommt es darauf an wo das file liegt ...
da du es manipulieren willst sollte es dierekt im file-system liegen ...
dann kannst du über [japi]File[/japi] ein objekt darauf erzeugen ...
mit [japi]FileInputStream[/japi] erzeugst du dir dann einen inputstream auf das file in dem du dessen referenz übergibst
nun erzeugst du dir ein leeres [japi]Properties[/japi] objekt und callst "load(InputStream)"
danach kannst du den FileInputStream closen ...
nun hast du in einem objekt die key-value paare und kannst über "getProperty(String)" darauf zugreifen ... wobei der string den key darstellt ... also das was "links" steht ...
wenn du eine bestimmte Property nun manipulieren willst callst du auf dein Properties objekt einfach "setProperty(String, String)" wobei der erste parameter der key ist ... und der zweite die neue value
zum schluss speicherst du die Properties wieder ...
dazu brauchst du einen [japi]FileOutputStream[/japi] auf dein file-objekt ...
nun callst du "store(OutputStream, String)" ... wobei der zweite parameter leer bleiben kann .. also einfach "" ...

das ganze sieht dann so aus

Java:
Properties props=new Properties();
File propsFile=new File("porps.properties");
InputStream in=new FileInputStream(propsFile);
props.load(in);
in.close();
String name=props.getProperty("Name");
//... do somethin
//String newName="blahblahblah";
props.setProperty("Name", newName);
OutputStream out=new FileOutputStream(propsFile);
props.store(out, "");
out.close();

btw : wenn ich das richtig gelesen habe soll das ein "Spiel" werden ?
lass es lieber ... denn du hast nicht mal die einfachsten grundlagen drauf und willst ein spiel schreiben ... was dann am ende wenn überhaupt eh nicht laufen wird *geschweige denn compilebar wäre* ...

[ot]WARUM eigentlich ? warum kommen immer wieder anfänger auf die idee *meist "jüngere"* : "ich kann 3 tage java mit 4 zeilen die ich aus nem biespiel hab ... nun will ich spiele programmieren" ? ...
leute ... das könnte ihr vergessen ... denn das wird so NICHTS !
wenn ihr spiele-entwickler werden wollt lernt erstmal die programmiersprache *ganz gleich ob C/++ , Java , plain-interpreter wie Perl und PHP oder script-langs wie JavaScript* ... und macht euch dann erstmal gedanken über software- und spiele-design ...[/ot]
 

BennIY

Mitglied
Ich werde das nun mal testen, es soll kein Spiel werden sondern ein Programm das einfache Daten speichert wie Namen und Nummern eher zum üben allerdings so, das man die verschiedenen Informationen wieder verwenden kann.
Ich habe aber nun was ich brauch, den rest kann ich wieder aus google suchen.
 

irgendjemand

Top Contributor
Ich werde das nun mal testen, es soll kein Spiel werden sondern ein Programm das einfache Daten speichert wie Namen und Nummern eher zum üben allerdings so, das man die verschiedenen Informationen wieder verwenden kann.
Ich habe aber nun was ich brauch, den rest kann ich wieder aus google suchen.

kein comment ...

google : "java config storage" ...
dort werden alle gebräuchlichen möglichkeiten zu finden gewesen : XML , Properties , Datenbanken .. aber das hast du ja scheinbar auch nicht drauf ... und dann willst du dir den rest doch wieder aus google ziehen ... will gar nich wissen wo das endet
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JTextArea: nur bestimmte Zeilen anders formatieren Java Basics - Anfänger-Themen 7
P Bestimmte Zeilen einer Datei ermitteln ? Java Basics - Anfänger-Themen 30
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
T Bestimmte Zeilen aus ASCII File löschen? Java Basics - Anfänger-Themen 2
V Aus mehreren Zeilen bestimmte Teile auslesen Java Basics - Anfänger-Themen 8
S In JTable nur bestimmte Zeilen einfärben Java Basics - Anfänger-Themen 2
X readLine(): nur bestimmte Zeilen lesen Java Basics - Anfänger-Themen 7
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
B Denkanstoß benötigt: Emails an bestimmte Emailadresse schicken Java Basics - Anfänger-Themen 6
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
L String auf bestimmte zeichen untersuchen Java Basics - Anfänger-Themen 9
L Bestimmte Werte eines Arrays ausgeben. Java Basics - Anfänger-Themen 3
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
Henri Bestimmte Werte eine XML-Datei ausgeben. Java Basics - Anfänger-Themen 8
M ComboBox bestimmte Elemente disablen/ausgrauen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
D Input/Output Buchstaben als bestimmte Zahl erkennen Java Basics - Anfänger-Themen 4
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
K Eine bestimmte Zeit, eine Schleife laufen lassen. Java Basics - Anfänger-Themen 4
A CSV datei eine Bestimmte Zeile ansprechen Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
C Array kopieren und nur bestimmte Werte speichern Java Basics - Anfänger-Themen 6
D Bestimmte Werte von Objekten aus einer ArrayList in eine andere ArrayList kopieren Java Basics - Anfänger-Themen 14
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
Ananaskirsche Input/Output Bestimmte Zeile aus Datei einlesen Java Basics - Anfänger-Themen 4
B Best Practice Bestimmte Zahl auslesen und in Variable speichern Java Basics - Anfänger-Themen 3
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
I Int Array, Zahl an bestimmte position setzten Java Basics - Anfänger-Themen 2
C [Bukkit Plugin] Blöcke eine bestimmte route entlang fliegen Java Basics - Anfänger-Themen 3
A Button in eine bestimmte Spalte platzieren Java Basics - Anfänger-Themen 4
D Bestimmte Zeile aus TXT Datei ausgeben Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
M Bestimmte Zeichen auslesen Java Basics - Anfänger-Themen 2
G bestimmte dateiendungen in jtree rausfiltern Java Basics - Anfänger-Themen 7
W bestimmte Objekte in ArrayList auslesen Java Basics - Anfänger-Themen 8
J Bestimmte Anzahl Zeichen aneinander fügen Java Basics - Anfänger-Themen 9
C Bestimmte Informationen von Webseite suchen Java Basics - Anfänger-Themen 13
B Nur bestimmte Klasse ausführen Java Basics - Anfänger-Themen 6
Kenan89 Bestimmte Zeile in txt-Datei ersetzen Java Basics - Anfänger-Themen 4
D BufferedInputStream nur bestimmte Zeichen Java Basics - Anfänger-Themen 11
D Input/Output bestimmte Zeile auslesen Java Basics - Anfänger-Themen 3
B Bestimmte Ziffer Java Basics - Anfänger-Themen 27
B Input/Output In Datei an eine bestimmte Stelle schreiben Java Basics - Anfänger-Themen 37
S Bestimmte Objekte aus Collections anwählen/herausbekommen Java Basics - Anfänger-Themen 8
I Bestimmte Objekte einer Liste hinzufügen Java Basics - Anfänger-Themen 16
R Bestimmte Stellen eines BigInteger Java Basics - Anfänger-Themen 7
S Collections Aus Set<Object> bestimmte Typen entfernen Java Basics - Anfänger-Themen 3
S Bestimmte Methode von unbestimmter Datei Java Basics - Anfänger-Themen 6
V Bestimmte Stellen aus .txt Datei auslesen Java Basics - Anfänger-Themen 11
B bestimmte klammern im string ersetzten Java Basics - Anfänger-Themen 17
Binary.Coder JTable bzw. Tabelle in bestimmte Form überführen Java Basics - Anfänger-Themen 5
B Bestimmte Werte aus einem String entnehmen Java Basics - Anfänger-Themen 3
0 Grafik eine bestimmte Strecke laufen lassen Java Basics - Anfänger-Themen 6
X im Verzeichnissbaum recursiv nur bestimmte Dateien finden Java Basics - Anfänger-Themen 7
M Aus String bestimmte Inhalte auslesen Java Basics - Anfänger-Themen 8
M Reaktion auf bestimmte Zeit Java Basics - Anfänger-Themen 2
2 Bestimmte Anzahl von Bytes lesen und als string ausgeben? Java Basics - Anfänger-Themen 3
N Bestimmte Zeichen aus Strings zählen Java Basics - Anfänger-Themen 11
StrikeTom Bestimmte stelle in string herausfiltern Java Basics - Anfänger-Themen 7
M Float auf bestimmte Nachkommazahl runden Java Basics - Anfänger-Themen 3
E Bild eine bestimmte Anzahl blinken lassen Java Basics - Anfänger-Themen 3
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
Luk10 Zufallszahl "ohne" eine bestimmte Zahl(en) Java Basics - Anfänger-Themen 8
S OOP Wie bei Spiel "17+4" eine Karte an bestimmte Position hinzufügen Java Basics - Anfänger-Themen 13
B OOP String auf bestimmte Zeichen abfragen Java Basics - Anfänger-Themen 4
S Bestimmte Elemente einer ArrayList löschen Java Basics - Anfänger-Themen 3
S Double bis bestimmte Nachkommzahl vergleichen (ohne zusätzliche Libs) Java Basics - Anfänger-Themen 12
N Text an bestimmte Stelle eines Dokuments schreiben Java Basics - Anfänger-Themen 6
G Bestimmte Zeile aus CSV ausgeben Java Basics - Anfänger-Themen 14
Assassin Nur bestimmte Daten aus txt auslesen... Java Basics - Anfänger-Themen 12
Developer_X Durch int Bestimmte Zeile überschreiben Java Basics - Anfänger-Themen 16
Developer_X Bestimmte Zeile aus TextDocument lesen Java Basics - Anfänger-Themen 2
V Nur bestimmte Werte zulassen Java Basics - Anfänger-Themen 2
M Bestimmte zeile aus .txt einlesen Java Basics - Anfänger-Themen 6
Q Nach Stringvorgabe bestimmte funktionen ausführen Java Basics - Anfänger-Themen 3
G Bestimmte Ebene eines Baumes rekursiv ausgeben Java Basics - Anfänger-Themen 49
I bestimmte Zahlen markieren.helppp. Java Basics - Anfänger-Themen 17
G Bestimmte Position im array auslesen Java Basics - Anfänger-Themen 8
H bestimmte objekte in ArrayList löschen? Java Basics - Anfänger-Themen 7
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
M bestimmte Zeichen in String eliminieren Java Basics - Anfänger-Themen 2
T Bestimmte Zeile aus einer .txt-Datei auslesen? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben