tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1312
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    KleinesNadine KleinesNadine ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    56
    Hallo, ich bins nochmal... und zwar habe ich eigentlich 2 Probleme, Ich habe mehrere Daten die ich aus Textfeldern einlese und dann in einer JTable abspeichere. Dazu habe ich diesen Quelltext:

    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
    36
    37
    38
    39
    40
    41
    42
    
    class Lauscher implements ActionListener
          {
     
           Vector test = new Vector();
           
           public void actionPerformed(ActionEvent e)
            {
              String button = e.getActionCommand();
     
               if (button.equals("Übergeben"))
               {
                 
                 String vorname = jtf_vorname.getText();
                 String name = jtf_name.getText();
                 int  geburtsjahr = Integer.parseInt(jtf_geburtsjahr.getText());
                 String strasse = jtf_straße.getText();
                 int hausnr = Integer.parseInt(jtf_hausnr.getText());
                 int telefonnr = Integer.parseInt(jtf_telefonnr.getText());
                 int plz = Integer.parseInt(jtf_plz.getText());
                 String wohnort = jtf_wohnort.getText();
     
                 
                  test.add(vorname);
                   test.add(name);
                   test.add(geburtsjahr);
                   test.add(strasse);
                   test.add(hausnr);
                   test.add(telefonnr);
                   test.add(plz);
                   test.add(wohnort);
                   dtm_test.addRow(status);
     
                   jtf_geburtsjahr.setText("");
                   jtf_name.setText("");
                   jtf_wohnort.setText("");
                   jtf_telefonnr.setText("");
                   jtf_vorname.setText("");
                   jtf_plz.setText("");
                   jtf_straße.setText("");
                   jtf_hausnr.setText("");              
     
               }

    Das Funktioniert auch schon fast, Problem ist:
    ich schreibe meine Daten in Textfelder, klicke auf übergeben,..das funktioniert auch,.. wi man sieht werden danach die Textfelder geleert. Wenn ich nun andere Daten in die Felder eintrage und wieder auf übergeben klicke, speichert er aber immer wieder die Daten des ersten Datensatzes ab! Woran kann das liegen?

    Zweite Frage:

    Diese gesamten Daten die ich in die Tabelle geschrieben habe möchte ich nun in eine Txt Datei abspeichern und auch wieder einlesen können... Dazu dieser Quelltext:


    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
    
            else if (button.equals("Speichern"))
              {
     
                 Writer fw = null;
     
                  try
                  {
                    fw = new FileWriter( "C://inhalt.txt" );
                    fw.write(""+test);
                    fw.append('\n');
     
                    JOptionPane speichern = new JOptionPane(new Object[]{"Datei wurde gespeichert!"});
     
                    JDialog dialogspeichern = speichern.createDialog(null, "Info!");
                    dialogspeichern.setModal(true);
                    dialogspeichern.pack();
                    dialogspeichern.setVisible(true);
                  }
     
                  catch ( IOException b )
                  {
                    System.err.println( "Konnte Datei nicht erstellen" );
                  }
     
                  finally {
                    if ( fw != null )
                      try { fw.close(); } catch ( IOException d ) { }
                  }
     
     
              }


    Problem ---> fw.write(""+test); das geht nicht so einfach, warum weiß ich leider selber nicht! Bin Dankbar für jeden Tipp! Gruß Nadine
     

  2. #2
    polenben polenben ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    47
    Wo bekommst du denn den Vektor her, mit dem du in deinem Array schreibst? Liest du da schon aus einer Datei etwas aus oder per Consoleneingabe.

    Wenn ich das richtig verstanden habe, dann willst du die im Array zwischengespeicherten Daten in eine txt übertragen.

    Evtl hilft dir der Code hier weiter:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    //Das Progamm liest Zeilenweise aus einer datei aus und schreibt es in eine andere datei 
     
    import java.io.*; 
    public class Test { 
    public static void main (String[] args ) { 
    try { 
    BufferedReader in = new BufferedReader( new FileReader("test.txt"));
    BufferedWriter out = new BufferedWriter( new FileWriter("test1.txt", false ));
    String str; 
    while ((str = in.readLine()) != null){ 
    out.write(str); 
    out.newLine();
    }
    out.flush(); 
    out.close(); 
    in.close(); 
    } 
    catch(Exceptione) {} 
    } 
    }
     

  3. #3
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Ich würde msl spontan sagen, du musst den Output-Stram flushen (flush()). Bin aber nicht ganz sicher.
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

  4. #4
    KleinesNadine KleinesNadine ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    56
    Also das erste Problem ist gelöst, ich habe den Vektor an der falschen stelle definiert, deshalb hat er immer den gleich Datensatz in die Tabelle geschrieben, man muss erst die Textfelder einlesen und dann den Vector definieren.

    Achso, Danke für die hilfe, aber irgentwie kann ich damit nichts anfangen, leider!
     

  5. #5
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Ich würde versuchen, den ganzen Vector so wie er ist zu speichern, dass hat auch den Vorteil, dass man normal nicht ohne das Programm an die Daten kommt.

    Oder willst du es unbedingt als txt File abspeichern?
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

  6. #6
    J0n3x J0n3x ist offline Grünschnabel
    Registriert seit
    Dec 2007
    Beiträge
    1
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    private void writeFile() throws Exception {
      try {      
        File file = new File("pfad/dateiname.txt"); // @Override -> Deine Daten!
        file.createNewFile();
        FileWriter writer = new FileWriter(file);
        
        // @Override ("test" ist kein schöner Name für einen Vector)
        for (int i = 0; i < test.size(); i++) 
            writer.write(test.get(i).toString());
          
        writer.write("\n");
     
        writer.flush();
        writer.close();
      } catch (Exception ex) {
        throw ex;
      }
    }

    Jedoch finde ich deinen Ansatz generell ziemlich sinnlos! Wenn du eine fest definierte Anzahl an Daten hast (Name, Vorname etc.), würde ich das nicht mit einem Vector lösen. Da reicht ein Array mit den Daten, welches du dann in eine ArrayList speichern könntest.

    Wenn du jetzt allerdings keinen Plan hast, von was ich da rede, dann lass es aber lieber so wie du es jetzt schon hast!
    Geändert von J0n3x (14.02.08 um 15:56 Uhr)
     

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 16.01.11, 12:13
  2. ## Vektor an eine Prozedur übergeben- ohne Einsatz von 'var' ? ! ? ! ?
    Von webcamping im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 20.05.10, 14:33
  3. JPG-Datei umwandeln in eine Vektor-Datei ?!
    Von FAIMO im Forum Vektor-Programme
    Antworten: 8
    Letzter Beitrag: 21.11.07, 07:50
  4. cgi Post daten in vektor
    Von kurcob im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 1
    Letzter Beitrag: 27.12.06, 20:53
  5. Antworten: 1
    Letzter Beitrag: 15.03.05, 23:35