4.7k Aufrufe
Gefragt in Anwendungen(Java,C++...) von pitti24 Einsteiger_in (15 Punkte)
hallo leut's,

ich möchte gerne mit java-code folgendes machen:

1.) ich habe eine datei mit folgenden inhalt:

#BeginOfPage
n01=001000
n02=003011
n03=001222
n04=0024754657
n05=' '
#EndOfPage
#BeginOfPage
n01=0034560
n02=0029999
n03=0043456
n04=0024754657
n05='wwwwwwww
n06='alteStadt'
#EndOfPage
#BeginOfPage
n01=004777737
n02=0020001
n03=003453
n04=00695734523
n05='opaundoma '
#EndOfPage

2.) ich möchte nun diese textdatei so bearbeiten, das ich die zeilen von #BeginOfPage bis #EndOfPage einlese und hier zeile für zeile durchgehe, die ersten 3 stellen nach dem = ausschneide und in einer schleife weiter bearbeite (als z.b. bei n01=0034560 die 003 ausschneide) und dann will ich eine ausgabe (also die 003) in eine txt-datei machen.
dann soll es mit den nächsten zeilen jeweils von #BeginOfPage bis #EndOfPage weiter so gehen bis an das ende der datei.

7 Antworten

0 Punkte
Beantwortet von deluxestyle Mitglied (901 Punkte)
Die txt einlesen, mit while readline über jede Zeile laufen und mit ner if abfragen, an welcher Stelle du bist.

Im groben dürfte es das sein
0 Punkte
Beantwortet von pitti24 Einsteiger_in (15 Punkte)
hallo deluxestyle,

vielen dank für deine hilfe.
wäre über einen beispielcode sehr dankbar, da ich absoluter anfänger bin was java angeht.

viele grüße pitti24!
0 Punkte
Beantwortet von
Hallo pitti24,

that will be a good exercise for you to learn java. try that, I hope it will
work.

try {
BufferedReader in = new BufferedReader(new
FileReader("infilename"));
BufferedWriter out = new BufferedWriter(new FileWriter("outfilename"));
String str;
while ((str = in.readLine()) != null) {
String r = process(str);
out.write(r);
out.newLine();
}
in.close();
out.close();
} catch (IOException e) {
}
0 Punkte
Beantwortet von pitti24 Einsteiger_in (15 Punkte)
hallo yoyo1987,

kannst du mir bitte diese zeiel mal erläutern: String r = process(str);


vielen dank!
0 Punkte
Beantwortet von deluxestyle Mitglied (901 Punkte)
process soll wahrscheinlich ne Funktion sein, die die eingelesene Zeile (str) überprüft und das gewünscht Ergebnis zurückliefert (r)
Dieses wird dann in die neue Textdatei geschrieben
0 Punkte
Beantwortet von pitti24 Einsteiger_in (15 Punkte)
hallo styledeluxe,

hast du für so eine funktion:
=====================================================
- process soll wahrscheinlich ne Funktion sein, die die eingelesene Zeile (str) überprüft und das gewünscht Ergebnis zurückliefert (r)
Dieses wird dann in die neue Textdatei geschrieben
=====================================================

eventuell einen beispielcode - wäre sehr schön
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
pitty24,

das sind aber sehr Grundlagen-orientierte Fragen. Wir sollen dir ein Beispiel für eine Funktion geben, deren Aufgabe du selbst gestalten willst? Vielleicht hilft dir eine Kommentierung des bisherigen Beispiels, welches Zeile für Zeile eine Datei einliest und in eine andere speichert.
// Mögliche Ausnahmen abfangen
try {
// Datei "infilename" zum lesen öffnen
BufferedReader in = new BufferedReader(new FileReader("infilename"));

// Datei "outfilename" zum schreiben öffnen
BufferedWriter out = new BufferedWriter(new FileWriter("outfilename"));

// Hierdrin wird jede Zeile der einzulesenden Datei gespeichert
String str;

// Lese solange wie möglich (bis Dateiende) eine neue Zeile ein
while ((str = in.readLine()) != null) {

// Mache sonstwas mit der Zeile...
// ...

// Veränderte Zeile wird in Datei "outfilename" geschrieben
out.write(str);

// ...und noch ein Zeilenumbruch angefügt, der beim einlesen schon entfernt wurde
out.newLine();
}

// Einzulesende Datei schließen
in.close();

// Zu schreibende Datei schließen (und speichern)
out.close();

// Ausnahme aufgetreten?
} catch (IOException e) {

// Wenn hier kein Code, dann werden Ausnahmen ignoriert
}
...