tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
2378
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Hallo Leute,
    ich will meine Textdatei durchsuchen und dann z.b. gesamte Sätze durch einen anderen Text ersetzen.


    z.b. bei folgenden Dummysätzen:


    Hallo Peter, was machst du heute Abend?
    Grüß dich Jim, was machst du heute Abend?

    Bei diesem Satz will ich den String "Peter" suchen und an derselben Stelle durch "Lisa" ersetzen. Gleichzeitig soll "Jim" durch "Stefan" ersetzt werden...


    Da gibt es doch sowas wie Pattern oder? Ich weiß nur nicht wie ich es dann an der richtigen Stelle ersetze.

    Kann mir da jemand weiterhelfen? Danke,
    JP
     

  2. #2
    MeinerEiner_80 Tutorials.de Gastzugang
    Moin!
    Was genau hast du denn vor? Geh mal ein bisschen mehr ins Detail...
    Bzw. um mal bei deinem Beispiel zu bleiben, wird Peter immer durch Lisa, und Jim immer durch Stefan ersetzt?
    Wird die Ersetzung Jim -> XXX dadurch bestimmt, wodurch du Peter ersetzt?

    *grüssle*
    MeinerEiner
     

  3. #3
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Hi,
    ja das Beispiel war doof, gebe ich zu

    Letztendlich will ich aus einem Ordner sämtliche Javadateien (ist ja wie text) laden und dann Beschriftungen von Buttons etc. ersetzen. Wenn also z.B. ein Button momentan JButton myButton = new JButton("Weiter") enthält, will ich durch alle Javadateien durchlaufen und "Weiter" durch "Next" ersetzen.

    Schleifen etc. hab ich auch schon gemacht. Ich bräuchte nur nen Anstoß, wie ich die Datei auf "Weiter" durchsuchen kann und dann bei Fund an dieser Stelle durch "Next" ersetzen kann...


    War das verständlich?

    Danke
     

  4. #4
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Noch ein kleiner Nachtrag. Gibt es die Möglichkeit einen ganzen Ordner in Java zu laden, so dass dann alle darin enthaltenen Dateien der Reihe nach durchlaufen werden (?) und dann nach Austausch der Begrifflichkeiten unter dem alten Namen abgespeichert werden?

    ich weiß die hilfe zu schätzen. Thx
     

  5. #5
    MeinerEiner_80 Tutorials.de Gastzugang
    Also letztendlich willst du auf eine Internationalisierung deines Programms hinarbeiten, oder? Falls ja schau dir das mal an: http://java.sun.com/docs/books/tutor...tro/index.html

    Falls es dir nur darum geht, ein für allemal deutsch nach englisch zu übersetzen, würde ich die deutsch -englisch päarchen in einer Properties Datei speichern :http://java.sun.com/j2se/1.4.2/docs/...roperties.html
    mit den deutschen Wörtern als Key.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    BufferedReader in=new BufferedReader(new FileInputStream(datei));
    String zeile="";
    Properties prop = new Properties();
    prop.load(new FileInputStream(properties));
    KeySet<String> keys = prop.keySet();
    while((zeile=in.readLine())!=null){
       Iterator<String> iter = new keys.iterator();
       while(iter.hasNext()){
            String next = iter.next();
            if(zeile.contains(next)){
                 zeile.replaceAll(next,prop.get(next)));
            }
        }    
    }


    Was deine zweite Frage angeht, hier im Forum müsste es schon Threads geben, um Ordner-/sDateitrukturen rekursiv durchzulaufen. Und für jede gefundene Datei lässt du dann die obige Methode durchlaufen...


    *grüssle*
    MeinerEiner
     

  6. #6
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    super. ich probiere es gleich morgen aus...

    Vielen Dank
     

  7. #7
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Hi,
    sag mal, geht dein Code auch richtig?

    Es gibt Fehler beim replace, key und FileInputStream

    Weißt du da Rat?
     

  8. #8
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Folgende Fehler kommen:

    cannot find symbol; symbol : constructor BufferedReader(java.io.FileInputStream), location: class java.io.BufferedReader at line 67 (67:18)

    cannot find symbol; symbol : class KeySet, location: class LesenSchreiben at line 76 (76:9)

    java.util.Iterator is abstract; cannot be instantiated at line 78 (78:37)


    Kann mir da jemand weiterhelfen
     

  9. #9
    MeinerEiner_80 Tutorials.de Gastzugang
    tüdelü.
    tja das kommt davon wenn unsereiner meint, er könne mal schnell so ein bisserl code posten, ohne ihn vorher zu überprüfen
    Verbessert sieht das ganze dann so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    try{
                BufferedReader in= new BufferedReader(new FileReader(fileToChange));
                String zeile="";
                Properties prop = new Properties();
                prop.load(new FileInputStream(propertiesFile));
                Set<Object> keys = prop.keySet();
                while((zeile=in.readLine())!=null){
                    Iterator iter = keys.iterator();
                    while(iter.hasNext()){
                        String next = (String) iter.next();
                        if(zeile.contains(next)){
                            zeile = zeile.replaceAll(next,(String) prop.get(next));
                        }    
                    }
                }
            }
            catch(Exception e){
                e.printStackTrace();
            }
    Geändert von MeinerEiner_80 (14.03.07 um 23:27 Uhr)
     

  10. #10
    jorgeHX jorgeHX ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    253
    Also super...

    t bei mir nun fast auch.
    Allerdings klappt die replace-Methode nicht... Er finde liest aus der Property die Einträge aber ersetzt werden sie nicht...
    Liegt es an mir?
     

  11. #11
    MeinerEiner_80 Tutorials.de Gastzugang
    Moin!
    Soweit wie ich das gepostet habe, stimmt das schon alles..
    Was dir fehlt ist, die Änderungen auch noch zu speichern...dachte das würdest schon hinbekommen..
    Nun denn:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    try{
                BufferedReader in= new BufferedReader(new FileReader(fileToChange));
                BufferedWriter out= new BufferedWriter(new FileWriter(tmpFile));
                String zeile="";
                Properties prop = new Properties();
                prop.load(new FileInputStream(propFile));
                Set<Object> keys = prop.keySet();
                while((zeile=in.readLine())!=null){
                    Iterator iter = keys.iterator();
                    while(iter.hasNext()){
                        String next = (String) iter.next();
                        if(zeile.contains(next)){
                            zeile = zeile.replaceAll(next,(String) prop.get(next));
                        } 
                        
                    }
                    out.append(zeile+"\n");
                }
                out.close();
                in.close();
                new File(fileToChange).delete();
                new File(tmpFile).renameTo(new File(fileToChange));
            }
            catch(Exception e){
                e.printStackTrace();
            }


    *grüssle*
    MeinerEiner
     

Ähnliche Themen

  1. Bestimmte Wörter in einem DIV durch Link ersetzen
    Von emptynick im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.07.08, 15:08
  2. [VB.NET] Bestimmte Zeile einer Textdatei ersetzen
    Von Masterclavat im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 28.04.08, 21:51
  3. [c#]Bestimmte Wörter färben?
    Von davfighter im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 29.11.07, 08:32
  4. Bestimmte Wörter in einer Textdatei ersetzen
    Von Fr3dd1 im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 15.03.07, 16:54
  5. Bestimmte Wörter ersetzen
    Von NoGFX im Forum PHP
    Antworten: 1
    Letzter Beitrag: 14.09.05, 12:51