Ich setzt mich im moment mit Dateiverarbeitung auseinander und steht jetzt vor einem neuen Problem wie ich z.B. eine kleine Zeichenkette aus meiner datei rauslösche...
die Datei sieht folgendermaßen aus:
Janine (14), Jochen (9), Joachim (1),
Jasadsa (3), Juppes (2), usw....
alles zwischen Janine und Jochen würde ich gerne löschen und einen Zeilenumbruch einfügen.
es sollte dann folgendermaßen aussehen
Janine
Jochen
Joachim
Jasadsa
Juppes
Wenn ich alle anderen Zeichen mit einem switch case abfange ist das zwar schön und gut aber sicher nicht die optimale lösung
so weit mein code!
.useDelimiter( "\\s* \\s*" );
wie muss der aussehen für " (12), " bzw " (1), "
die Datei sieht folgendermaßen aus:
Janine (14), Jochen (9), Joachim (1),
Jasadsa (3), Juppes (2), usw....
alles zwischen Janine und Jochen würde ich gerne löschen und einen Zeilenumbruch einfügen.
es sollte dann folgendermaßen aussehen
Janine
Jochen
Joachim
Jasadsa
Juppes
Wenn ich alle anderen Zeichen mit einem switch case abfange ist das zwar schön und gut aber sicher nicht die optimale lösung
Code:
switch (cZeichen) {
case '(':
break;
case ')':
break;
case '1':
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
case '6':
break;
case '7':
break;
case '8':
break;
case '9':
break;
case ',':
sZeileAusgeben = (sZeileAusgeben + "\n");
break;
case ' ':
break;
default:
sZeileAusgeben = (sZeileAusgeben + sZeileEinlesen.charAt(i));
break;
}
so weit mein code!
.useDelimiter( "\\s* \\s*" );
wie muss der aussehen für " (12), " bzw " (1), "
Code:
import java.io.*;
public class ZweiteUebungSchritt2 {
public static void main(String[] args) throws IOException {
String sZeileEinlesen;
String sZeileAusgeben;
char cZeichen;
File datei = new File("ZweiteUebungSchritt2.txt");
FileWriter ausgabestrom = new FileWriter(datei);
PrintWriter ausgabe = new PrintWriter(ausgabestrom);
try {
FileReader eingabestrom = new FileReader("ZweiteUebungDatei.txt");
BufferedReader b = new BufferedReader(eingabestrom);
boolean ende = false;
while(!ende){
sZeileAusgeben = "";
sZeileEinlesen = b.readLine();
if (sZeileEinlesen == null){
ende = true;
} // ende von then
else {
// for (int i = (sZeileEinlesen.length() -1); i >= 0; i-- ){
for (int i = 0; i <= (sZeileEinlesen.length() -1); i++){
cZeichen = sZeileEinlesen.charAt(i);
Scanner scanner = new Scanner( sZeileEinlesen ).useDelimiter( "\\s* \\s*" );
/* Meine Datei sieht so aus Janine (12), Jochen (9), .....
* An dieser Stelle würde ich gerne alle
* sonderzeichen, zahlen und blanks löschen
* oder auch den abschnitt " (xx), " in einen zeilenumbruch umwandeln
*/
} // ende for-schleife
ausgabe.println(sZeileAusgeben);
} // ende von else
} // ende von while (!ende)
b.close();
} // ende von try
catch(FileNotFoundException e){
ausgabe.println("Datei nicht gefunden!");
} // ende von catch
ausgabe.close();
} // ende static void main
} // ende class ZweiteÜbungSchritt2