Wincenty
PCGHX-HWbot-Member (m/w)
Hallo,
ich muss einen Text normieren, d.h. das Programm soll eine Text.txt lesen, wenn mehrere Leerzeichen aufeinander folgen sollen diese durch ein Leerzeichen ersetzt werden. Wenn es keine doppelten Leerzeichen mehr gibt soll der normierte Text in eine TextOut.txt geschrieben werden.
Ich habe ein Struktogramm erstellt (ob jetzt die Symbolik stimmt weiß ich nicht, da ich Struktogramme eher als "Hilfsmittel" oder "Leitfaden" verwende)
Ich habe bisschen gegoogelt und für die Funktion replaceAll muss ich einen String haben der gebuffert ist, nur bekomme ich das buffern nicht auf die Reihe, da ich aus einer bestehenden Textdatei das machen soll und google nur Engl. Sachen ausspuckt und ich die meisten nicht verstehe und mein Buch Einstieg in Java 6 ist mir im moment auch nicht sehr klar.
Bissheriger Code:
ich muss einen Text normieren, d.h. das Programm soll eine Text.txt lesen, wenn mehrere Leerzeichen aufeinander folgen sollen diese durch ein Leerzeichen ersetzt werden. Wenn es keine doppelten Leerzeichen mehr gibt soll der normierte Text in eine TextOut.txt geschrieben werden.
Ich habe ein Struktogramm erstellt (ob jetzt die Symbolik stimmt weiß ich nicht, da ich Struktogramme eher als "Hilfsmittel" oder "Leitfaden" verwende)
Ich habe bisschen gegoogelt und für die Funktion replaceAll muss ich einen String haben der gebuffert ist, nur bekomme ich das buffern nicht auf die Reihe, da ich aus einer bestehenden Textdatei das machen soll und google nur Engl. Sachen ausspuckt und ich die meisten nicht verstehe und mein Buch Einstieg in Java 6 ist mir im moment auch nicht sehr klar.
Bissheriger Code:
Code:
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
public class TextNormieren {
public static void main(String[] args) {
try{
File f = new File("Text.txt");
FileReader fr = new FileReader(f);
int i; //Zeichen das gelesen wurde
String text = "";
while ((i = fr.read())!=-1) { //-1 == ende der Datei
//System.out.print(i);
//System.out.print((char)i);
if (i == ' '&& i+1 == ' ') {
String replaceAll(" "," ");
}
else {
File fo = new File("TextOut.txt");
FileOutputStream fw = new FileOutputStream(fo);
/*Schreibfunktion aus dem Tutorium entnommen was in der Uni war:
* try{
File f = new File("Text2.txt");
FileOutputStream fw = new FileOutputStream(f);
fw.write(new byte [] {32,33,34});
for (int i=30;i<250;i++) {
fw.write(i);
}
String text = "What are U doing brain??";
fw.write(text.getBytes());
fw.close();
}
catch (Exception e){}
}
}
fr.close();
}
catch (Exception e){} */
}
}

ich weiß nicht was da falsch ist
(Ich bin mir gerade nicht sicher ob es ohne auch geht, so gehst du eben auf Nummer sicher).
