TextConverter

  • Themenstarter Gelöschtes Mitglied 37019
  • Beginndatum
G

Gelöschtes Mitglied 37019

Gast
Hallo Leutz,

ich hab eine Frage zu einem Textkonverter. Und zwar möchte ich gerne ein Programm schreiben was es mit erlaubt eine Textdatei einzulesen die einen wählbaren Zeichensatz hat und diese Textdatei wiederum abzuspeichern mit dem unterschied das man vorher einen anderen Zeichensatz auswählen. kann.

In Kurzform soll das Prog etwas so ablaufen:


Auswählen des Zeichensatzes (Charset, richtig?)
Datei einlesen
Anderen Zeichensatz auswählen
Text mit diesem Zeichensatz ausgeben
Abspeichern


Grundsätzlich dachte ich mir das ich das vielleicht mit Hilfe folgender Statements realisiere:

Java:
public static String loadText ( FilepFile , Charset pCS) throws IOException ;

//zum einlesen der Datei und dem wählen des Zeichensatzes

Java:
public static void saveText ( String pText , File pFile , Charset pCS) throws IOException;

//zum abspeichern des Textes und wiederum auswählen des Zeichensatzes

und der Befehl zum Aufrufen in der Konsole sollte so aussehen:

Code:
java -jar textconverter.jar Datei1_utf8.txt UTF-8 Datei1_latin ISO-8859-1

//den hatte ich so in etwa mal gesehen, was auch der grund ist warum ich mich daran mal versuchen wollte


Jetzt zu meiner Frage: Habt ihr Ideen die mir eine gewisse Struktur vorgeben wie ich das lösen könnte?

Ich wäre für 2 Dinge sehr dankbar.

1. Ihr gebt mir Code den ich versuchen werde zu verstehen.
2. Ihr gebt mir euren in Gedanken erstellten "Abarbeitungsbaum" wie ihr das angehen würdet und welchen Aufbau bei euch der Code hätte.

Vielen Dank :toll:
 

Kevin94

Top Contributor
Dein Vorhaben müsste zeimlich simpel sein. Mit FileWriter/Reader dürfte das in wenigen Zeilen getan sein. Ich würde nicht mal soweit gehen, das ganze in Methoden auszulagern und die eingelesenen Zeichen in einem
Code:
char[]
zwischenspeichern. Pseudo-Code mal:
Code:
Charset parsen
Dateien öffnen
solange(!dateiLeer)
{
bufferEinLesen
bufferRausSchreiben
}
Dateien schliesen
 
G

Gelöschtes Mitglied 37019

Gast
Hier meine Lösung:

Java:
public static void main(String[] args, String a, String b, String c, String d) throws IOException {	

File infile = new File(a);
File outfile = new File(c);	

Reader in = new InputStreamReader(new FileInputStream(infile), b);
System.out.println("Your text in UTF8-charset: " + infile);
Writer out = new OutputStreamWriter(new FileOutputStream(outfile), d);
System.out.println("Your text in Latin-charset: " + outfile);

int x;

while ((x = in.read()) != -1){
out.write(x);}

in.close();
out.close();

System.out.println("Your Conversion has succesful finished!");
System.out.println("You find your new data in: \"C:/Users/"entsprechende Datei"\"");
 

Oben