Probleme mit Strings

dennisT

Mitglied
Hi, ich habe grad ein Problem was ich so nicht selber lösen kann. Also ich habe einmal ein Hauptprogramm und ein Nebenprogramm, welches "Finder" heißt.

Im Hauptprogramm rufe ich den "Finder" so auf:

Java:
Find.change(b_name);

Dann im Programm "Finder":

Java:
public static void change(String b_name){
  String text = null;
    try{
      text = readFileAsString("alles/content.xml");

    }
    catch (IOException e){}
    String name = "---NAME---";
    String name2 = b_name;

    int index = 0;
    int count = 0;
    boolean find = true;
    while(find){
      index = text.indexOf(name, index+1);
      if(index != -1){
        text = text.replace(name,name2);
      }
      else{
        find = false;
      }
    }
    try{
      BufferedWriter buff2 = null;
      buff2 = new BufferedWriter(new FileWriter("alles/content.xml"));
      buff2.write(text);
      buff2.close();
    }
    catch (IOException e){}
}

b_name ist ein String, der Wert wird aus einer MySQL Datenbank geholt. Dann soll halt in der content.xml ---NAME--- gesucht werden und mit dem Wert getauscht werden. Funktioniert aber nicht, denn wenn danach die OpenOffice Datei wieder gepackt wird mit dem Inhalt des Ordners "alles", fehlt alles, was ab b_name, auf dem Dokument erscheinen soll. Selbst der Wert von b_name fehlt drauf.

Wenn ich einen definierten String im "Finder" erstelle, und den auswechseln lasse, funktioniert alles. Weiß jemand warum?

Ich habs nochmal ausprobiert, die content.xml im einzelnen sieht sauber aus, nur die erstelle OpenOffice Datei nicht 🙁


Edit again: Fehler gefunden, es lag an Buchstaben wie Ü Ä oder Ö.
 
Zuletzt bearbeitet:
Keine Ahnung, aber vielleicht fliegen ja irgendwelche IOExceptions...?
Es wäre sinnvoll, die nicht zu verschlucken.
 
ja, das würd ich auch sagen
IOException mal über ein JOptionPane ausgeben lassen

und ansonsten kann ich für arbeiten mit XML eigentlich die JDOM empfehlen
brauch ein bisschen Einarbeitung aber ist dann um Längen komfortabler als das über den buffer zu machen.
 
Joa der Fehler soll wohl irgenwie an Buchstaben wie Ä,Ö,Ü und ß gelegen haben. Ich muss dann erstmal ohne diese Arbeiten, bis ich das mit Stringtokanizer geändert habe.
 

Zurück
Oben