Bestimmte Inhalte aus Datei lesen

Nathalie.C

Mitglied
Hallo zusammen,

ich wollte fragen ob mir jemand vielleicht helfen kann:
ich will ein Programm erstellen das sich durch eine angegebene Datei durchliest und immer Inhalte die nach einem $-Zeichen bis zu einem weiteren $-Zeichen vorkommen abspeichert. Diese Inhalte sollen in einer anderen Datei abgespeichert werden. Dieses Programm will ich über die Kommandozeile aufrufen können mit dem ersten Parameter die Datei die eingelesen werden soll und als zweiten Parameter die Datei wohin er die Inhalte speichern soll.
Ich weiss wie ich eine Datei einlesen soll Zeile pro Zeile, aber wie kann ich es erreichen dass genau die Inhalte die zwischen den $ stehen genommen und gespeichert werden und wie kann ich das mit der Kommandoeingabe realisieren?

Kann mir jemand helfen?

Danke euch

Nathalie
 
Grundlagen lernen wäre wohl angebracht.

Wenn du Zeile für Zeile lesen kannst, dnan musst du jede Zeile Buchstabe für Buchstabe durchgehen und wenn ein $ kommt, dann das was bis zum nächsten kommt in eine andere Datei schreiben.
 
Java:
public void ließEin(char zeichen){
 BufferedReader buf = new ...;
 StringBuilder sb = new ...;
 int aktZeichen;
 while(während aktZeichen nicht zeichen ist, schreibe buf.read() in aktZeichen);

 sb.append(aktZeichen als char);

 while(während aktZeichen nicht zeichen ist, schreibe buf.read() in aktZeichen){
  sb.append(aktZeichen als char);
 }
}


Ungetestet aber es müsste funktionieren. Natürlich in Java übersetzt.
 
Vielen lieben Dank Gucky und auch dir JavaMeister. 😀 Aber wieso muss dieselbe while-schleife zweimal durchlaufen werden? @Gucky. Und weiss jemand wie ich das mit der Kommandozeile machen könnte?

Danke euch 😀

Nathalie
 
Was sagt google dazu?

Der Code von guckd ist nicht getestet. Aber wie du schon festgestellt hast nicht ganz richtig.

Versuch das mal auf einem Blatt Papier zu konzipieren.
 
Das Zeichen muss erst gesucht werden. Deshalb habe ich erst alle Zeichen eingelesen, bis mein Code auf dieses Zeichen gestoßen ist. Dann wird aktZeichen angehängt und dann wird, bis aktZeichen wieder das Trennzeichen ist der Wert in aktZeichen an den StringBuilder angehängt.


Mir fällt kein Fehler auf. Wo ist er denn? 😀
 
Werden sie doch auch.
Zuerst die, um das Zeichen zu finden und dann die um den Inhalt der Datei zu lesen und in den StringBuilder zu schreiben
 
Zuletzt bearbeitet:
Ich habe den Eingangspost jetzt so verstanden, dass diese Zeichen nur zwei mal vorhanden sind und gesichert ist, dass sie zwei mal vorhanden sind. Ansonsten muss noch ein Check eingebaut werden, dass die Datei nicht vorbei ist.
Das mehrere Bereiche "abgesteckt" werden können ließe sich, glaube ich, sehr leicht rekursiv lösen.
 

Neue Themen


Zurück
Oben