carookee - group communication for you
Home / JavaForum / Java allgemein
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.082 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 2134 von 2212 (96%) |<   <   >   >|

Autor Wolfgang Schirmer
Datum 02.11.01, 10:57
Betreff replace-Fehler


Hallo alle erstmal,

seit gestern kämpfe ich mit dem ersetzen von Strings (ganze Zeilen in einer Datei) und denke ich habe schon Fortschritte gemacht, aber irgendwo habe ich noch einen Denkfehler oder in den Schleifen einen falschen Fehler.

Es funktioniert insofern, dass wenn ich eine Änderung vornehme auch die Sache geändert abgespeichert wird. ABER wenn ich nichts ändere und auf speichern gehe, dann hängt die Anwendung am Baum :-( *heul*

Ich hoffe es kann mir jemand helfen und sieht den Fehler. Hier erst mal die zwei Methoden, die dafür verantwortlich sind:

public void saveNewParam()
{
    String wahl = combo.getSelectedItem().toString();
    String key = tf_Key.getText();
    String abnr = tf_AbNr.getText();
    String erfk = tf_ErfKennz.getText();
    String grpnr = tf_GrpNr.getText();
    String sznr = tf_SZNr.getText();
    String dat = tf_Dat.getText();
    String sfnr = tf_SFNr.getText();
    String res = tf_Res.getText();
    String vk = tf_VKennz.getText();
    
    String dateiAlt = "";
    String dateiNeu = "";
    
    String zeileAlt = "";
    String zeileNeu = (wahl + " " + key + " " + abnr + " " + erfk + " " + grpnr + " " + sznr
    + " " + dat + " " + sfnr + " " + res + " " + vk);
    
    try
    {
        BufferedReader br = new BufferedReader (new FileReader ("alt.txt"));
        
        BufferedWriter bw = new BufferedWriter (new FileWriter ("neu.txt"));
        
        while((dateiAlt = br.readLine()) != null)
        {
            StringBuffer sb = new StringBuffer(dateiAlt);
            
            dateiNeu = sb.toString();
            String name = dateiAlt.substring(0,2);
            
            if (wahl.equals(name)) //<-- hier ist irgendwas noch im argen und kanns nicht finden
            {
                zeileAlt = dateiAlt.substring(0,40);
                dateiNeu = strReplace(dateiNeu, zeileAlt, zeileNeu);
                bw.write(dateiNeu);
                bw.newLine();
            }
            else
            {
                bw.write(dateiNeu);
                bw.newLine();
            }
        }
        br.close();
        bw.close();
    }
    catch (Exception e)
    {
        System.out.println(e);
    }
}

public static String strReplace(String datei, String alt, String neu)
{
    String s1;
    String s2;
    
    try
    {
        while (datei.indexOf(alt) != -1)
        {
            s1 = datei.substring(0, datei.indexOf(alt));
            s2 = datei.substring(datei.indexOf(alt) + alt.length(), datei.length());
            datei = s1 + neu + s2;
        }
        return (datei);
    }
    catch (Exception e)
    {
        return(datei);
    }
}


Ich denke der Fehler oder eine fehlende Bedingung fehlt in der saveNewParam()-Methode.

Ich hoffe es kann jemand helfen.

mfG trompi


Diskussionsverlauf:
replace-Fehler
    Re: Lösung, aber mit Haken :-(
        Re: Zusatz

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com