tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
376
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    picsou picsou ist offline Rookie
    Registriert seit
    Aug 2011
    Beiträge
    6
    Hallo,

    ich habe eine Textdatei, deren Inhalt die Datenstruktur

    ...
    NAME88Schmidt=1
    VORNAME88Hans=17
    NAME89Meier=0
    VORNAME89Peter=14
    NAME90Schulz=1
    Vorname90Vanessa=23
    ...

    hat. Aus dieser Datei möchte ich in denTags NAME alle auf "=0" setzen und dieses in einer jTextArea ausgeben. Die Übernahme in die jTextArea bekomme ich nicht hin.

    Ich nutze folgenden Code:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
        public void dateiopen() {
            JFileChooser jFile = new JFileChooser();
            int erg = jFile.showDialog(this, "Open...");
            if (erg == JFileChooser.APPROVE_OPTION) {
                File f = jFile.getSelectedFile();
                String offen = f.getPath();
                System.out.println("Path: " + offen + " Name : " + f);
            }
        }
        
        public void showTextFile(File file){
     
            try {
            BufferedReader in = new BufferedReader(new FileReader(file)); //Variable file wird anscheinen nicht angenommen
            String zeile = null;
            String zeilenAnfang ="NAME";
            String zeilenEnde = "=1";
                    String zeilenEndePuffer;
            String zeilenEndeNeu = "=0";
            while ((zeile = in.readLine()) != null) {
                if (zeile.startsWith(zeilenAnfang) && zeile.endsWith(zeilenEnde)){
                                zeilenEndePuffer = zeilenEnde;
                                zeilenEndePuffer = zeilenEndeNeu;
                                zeile=zeile.replace(zeilenEnde, zeilenEndeNeu);
                                System.out.println(zeilenEndePuffer);
                            }
                System.out.println(zeile); //Es erfolgt keine Konsolenausgabe
                            jTextArea1.setText(zeile);  //Übernahme in jTextArea schlägt fehl
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        
     
      }

    Die in Netbeans eingefügte jTextArea lautet wie folgt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
        ... //zusätzliche Elemente
     
               jTextArea1 = new javax.swing.JTextArea();
     
        ... // zusätzlicher Code
     
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jScrollPane1.setViewportView(jTextArea1);
     
            getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 60, 440, 440));
     
            pack();
        }// </editor-fold>

    Was muss ich machen, um die Ausgabe in die jTextArea zu bekommen. Vielen Dank für eure Hilfe
     

  2. #2
    SE Tutorials.de Gastzugang
    1) der InputStream
    Code java:
    Natürlich kannst du auch FileReader nutzen ... aber ich würde es hier komplett selbst schreiben um Encoding-Probleme zu umgehen.

    2) das "setzen" des Textes
    Code java:
    1
    
    JTextArea.append(String);
    Ein blick in die API-Doc *meine Signatur* hätte dir hier schon weiter geholfen.
    Geändert von SE (21.08.11 um 18:13 Uhr) Grund: TYPO
     

  3. #3
    picsou picsou ist offline Rookie
    Registriert seit
    Aug 2011
    Beiträge
    6
    Vielen Dank für die Antwort. Allerdings bekommt "file" im BufferedReader

    Code :
    1
    
    BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(file)));

    anscheinend noch nichts übergeben. Wie bekomme ich denn den Wert aus der Methode dateiopen() in "file" hinein?
     

  4. #4
    SE Tutorials.de Gastzugang
    Ähm ... 2 Möglichkeiten

    1) globale Vairable
    2) innerer Methoden-Aufruf

    Beides hat seine Vor- und Nachteile ... kommt halt darauf an ob du nach dem Öffnen , Lesen , Darstellen und wieder Schließen des Files noch brauchst oder nicht.
     

  5. #5
    picsou picsou ist offline Rookie
    Registriert seit
    Aug 2011
    Beiträge
    6
    So was blödes der war wirklich nicht mit drin 8| Vielen Dank... Es läuft
     

Ähnliche Themen

  1. Antworten: 23
    Letzter Beitrag: 08.09.11, 19:26
  2. Inhalt einer Form in eine Picturebox übernehmen
    Von Hogosha im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 25.12.08, 21:03
  3. Inhalt einer Textdatei sortieren
    Von d4kine im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 07.01.07, 23:49
  4. Mit Inhalt einer Textdatei Rechnen ?
    Von Corefice im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 22.01.05, 22:09
  5. Inhalt einer Textdatei löschen?
    Von michischmuki im Forum PHP
    Antworten: 3
    Letzter Beitrag: 30.04.04, 01:47