Probleme mit Datastrems usw

ich möchte ein kleines Java Programm schreiben welches eine Datei öffnet und durchliest dabei jedes Zeichen überprüft ob es ein Ü, ü, Ö, ö, Ä oder ä ist und entsprechend dafür andere Zeichen setzt … evtl .auch so das hinterher eine andere Datei entstanden ist …

kann da mal jemend ein paar Codebrocken zu schreiben ???

Danke …

ich möchte ein kleines Java Programm schreiben welches eine
Datei öffnet und durchliest dabei jedes Zeichen überprüft ob
es ein Ü, ü, Ö, ö, Ä oder ä ist und entsprechend dafür andere
Zeichen setzt … evtl .auch so das hinterher eine andere
Datei entstanden ist …

kann da mal jemend ein paar Codebrocken zu schreiben ???

Hallo!

Hab’s mal flink in JFlex geschrieben:
http://www.jflex.de

Hab’s aber nicht ausprobiert, wahrscheinlich funktioniert’s gar nicht :wink:

%%

%unicode

%{
 // nothing to declare
%}

%%

"ä" { System.out.print("ae"); }
"Ä" { System.out.print("Ae"); }
"ö" { System.out.print("oe"); }
"Ö" { System.out.print("Oe"); }
"ü" { System.out.print("ue"); }
"Ü" { System.out.print("Ue"); }

Ersetzt Umlaute durch deren ausgeschriebene Darstellung.

Hilft dir das?

Stefan :smile:

Hallo „Wendt“ :smile: ,

mit

new SearchByteWise(deineQuelle, ausgabeFile);

kannst du die untenstehende Klasse aufrufen. Es liest die Quelldatei byteweise ein und prüft auf „ÄäÜüÖö“. Na ja, es liest sich deutlich.

Viel Erfolg,
Marc

public class SearchByteWise
{

public SearchByteWise(String fileName, String senke)
{
outputTo(fileName,senke);
}

public java.io.File outputTo(String quelle, String _senke)
{ java.io.File senke=new java.io.File(_senke);

int inByte;

try{
java.io.BufferedInputStream in=
new java.io.BufferedInputStream(new java.io.FileInputStream(quelle));
java.io.BufferedOutputStream out=
new java.io.BufferedOutputStream(new java.io.FileOutputStream(senke));

while( (inByte=in.read())!=-1)
{
if((char)inByte==‚Ä‘) {out.write(‚A‘);out.write(‚e‘);}
else if((char)inByte==‚ä‘) {out.write(‚a‘);out.write(‚e‘);}
else if((char)inByte==‚Ö‘) {out.write(‚O‘);out.write(‚e‘);}
else if((char)inByte==‚ö‘) {out.write(‚o‘);out.write(‚e‘);}
else if((char)inByte==‚Ü‘) {out.write(‚U‘);out.write(‚e‘);}
else if((char)inByte==‚ü‘) {out.write(‚u‘);out.write(‚e‘);}
else out.write(inByte);

}
in.close();
out.close();
}
catch(Throwable t){t.printStackTrace();}

return senke;
}

}

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]