Textbearbeitung

soa

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein kleines Problem mit meinem Alogorithmus auf eine html.Seite einzulesen,
die 'ä' durch "ä" zu ersetzen und in einer neuen html-Seite auszugeben.

Ein -und Ausgabe funktionieren, jedoch wird bei mir das 'ä' nicht ersetzt.

Nachfolgend mein Quellcode:

public class htmlconv4{

static String text;
static int eingabe =0;
static int eingabe1 =0;

public static void main (String []args)throws IOException{

htmlconv4 obj = new htmlconv4();


//HTML File
String datei= "datei1702_vor.html";

//File Reader zum lesen aus Datei
FileReader Fr = new FileReader(datei);
BufferedReader br = new BufferedReader(Fr);



String datei1 = "datei1702_nach.html";

BufferedWriter bw = new BufferedWriter
(new FileWriter(datei1));

do{
eingabe = br.read();
if (eingabe != -1)
eingabe1 = obj.selection();
bw.write((char)eingabe1);
} while (eingabe != -1);
bw.flush();
bw.close();

}//main

public static int selection(){

String str = String.valueOf(eingabe);
StringBuffer t = new StringBuffer(str);
int suche = str.indexOf('ä');
String ersetze = "ä";

while (suche != -1){
t.replace(suche,suche, ersetze);
}

String ä = t.toString();
int int01 = Integer.parseInt(ä);
return (int01);

}//methode geschlossen

}//Klasse geschlossen

----------------------------------------------------------------------------------
Über eine Hilfestellung wäre ich sehr dankbar.

Gruß
SOA
 
Hallo,

bitte Netiquette und Groß- und Kleinschreibung beachten, ausserdem Quellcode in "Code-Tags" einbinden, das verbessert die Lesbarkeit. Leider muss ich dir sagen, dass du noch sehr an deinen Java Kenntnissen üben musst, also am Besten mal ein gutes Buch lesen. Java ist objektorientiert, das braucht man nicht, wenn man alles statisch macht. Daher ist statisch meistens ganz schlecht, die main() Methode mal ausgenommen. Ausserdem solltest du aussagekräftige Variablennamen verwenden und dich an die Sun - Konventionen wenigstens im Groben halten. Sprich bei Klassen schreibt man den ersten Buchstaben groß, bei Variablen klein usw. Das erleichtert den Lesern deines Codes, und dir später selbst auch, die Arbeit.

Hier wäre dann meine Lösung, wie ich das machen würde, ich denke nicht, dass es dir was nützt wenn du deinem Prof, Lehrer, oder wem auch immer, meine Lösung zeigst, du musst es selbst verstehen warum was wie ist. Nagut, jetzt aber genug mit Belehrung, hier der Code.

Code:
import java.io.*;

public class HtmlConverter {
  public HtmlConverter() {
    String inhalt = leseDatei("datei.htm");
    String neuerInhalt = ersetze(inhalt);
    speichere(neuerInhalt,"neueDatei.htm");
  }

  public static void main(String args[]){
    new HtmlConverter();
  }

  public String leseDatei(String dateiName){
    String dateiInhalt = "";
    try {
      BufferedReader br = new BufferedReader(new FileReader(dateiName));
      for (;;){
        String zeile = br.readLine();
        if(zeile==null) break;
        dateiInhalt += zeile+"\n";
      }
      br.close();
    }
    catch (FileNotFoundException fnfe) {
      System.out.println("Datei nicht gefunden");
    }
    catch (IOException ioe){
      System.out.println(ioe.toString());
    }
    return dateiInhalt;
  }

  public String ersetze(String alterInhalt){
    String neuerInhalt = "";
    StringBuffer sb = new StringBuffer(alterInhalt);
    for (int i = 0; i< sb.length(); i++){
      if (sb.charAt(i) == 'ä'){
        sb.replace(i, i+1, "&");
        sb.insert(i+1,"auml;");
      }
    }
    neuerInhalt = sb.toString();
    return neuerInhalt;
  }

  public void speichere(String inhalt, String dateiName){
    try {
      PrintWriter pw = new PrintWriter(new FileOutputStream(dateiName));
      pw.print(inhalt);
      pw.flush();
      pw.close();
      System.out.println(inhalt);
    }
    catch (FileNotFoundException fnfe) {
      System.out.println("Datei nicht gefunden bzw. keine Schreibrechte");
    }

  }

}
 
Zurück