TextArea auslesen und in Datei speichern

Funny77

Mitglied
Hallo,

ich hab ein Problem und krieg es einfach nicht gelöst :( Ich habe eine TextArea, welche ich gerne in einer Datei speichern möchte (nicht überschreiben sondern am Ende anhängen!!)... Hat da jemand ein Plan, bei allem was ich versucht habe kamen immer unglaublich viele Fehler :D ganz davon abgesehen, dass diese Methoden immer nur eine Zeile eingelesen hätten!
Im Prinzip würde ich gerne die gesamte TextArea in einer Datei (Endung anpassbar) speichern und dabei anhängen (s.o.)! Die Datei muss aber nicht ausgelesen werden und wieder in der TextArea ausgegeben werden! Habe den Quelltext ein bisschen gekürzt, aber nix wichtiges ;) Wenn jemand den ganzen Quelltext braucht (zum Compilieren oder so): kein Problem ;)

Java:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.sql.*;
import javax.swing.*;
import java.lang.*;
import javax.swing.event.*;
import java.io.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 05.11.2012
  * @author 
  */

public class Fenster_Tastureingabe extends Frame implements KeyListener {
  // Anfang Attribute
  public boolean end = false;
  private Label label_timeNow_titel = new Label();
  private Label label_timeNow = new Label();
  private static Label label_time = new Label();
  private static boolean timeBoolean = true;
  private Label label_titel = new Label();
  private TextArea LABEL = new TextArea("", 1, 1, TextArea.SCROLLBARS_BOTH);
  private Button button_start = new Button();
  private Button button_clear = new Button();
  private TextField textField_reason = new TextField();
  public int count = 0;
  private Button button_stop = new Button();
  public int yyyyS1;
  public int MMS1;
  public int ddS1;
  public int kkS1;
  public int mmS1;
  public int ssS1;
  public int yyyy;
  public double MM;
  public double dd;
  public double kk;
  public double mm;
  public double ss;
  public int S;
  public int E;
  private Label label_error = new Label();
  public int countSek = 0;
  public int countSave;
  private Button button_total = new Button();
  private Button button_preferencesC = new Button();
  private Button button_disableClock = new Button();
  private Button button_setFileExtension = new Button();
  private Button button_save = new Button();
  private Button button_preferencesO = new Button();
  private Button button_enableClock = new Button();
  private TextField textField1 = new TextField();
  public String extension;
  // Ende Attribute
  
  public Fenster_Tastureingabe(String title) { 
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { dispose(); }
    });
    int frameWidth = 1008; 
    int frameHeight = 361;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Panel cp = new Panel(null);
    add(cp);
    this.addKeyListener(this);
    // Anfang Komponenten
    
    
    label_timeNow_titel.setBounds(8, 8, 307, 72);
    label_timeNow_titel.setText("WorkMeter");
    label_timeNow_titel.setFont(new Font("Arial Black", Font.BOLD, 48));
    label_timeNow.setBounds(328, 8, 75, 25);
    label_timeNow.setText("Aktuelle Zeit:");
    cp.add(label_timeNow);
    label_time.setBounds(408, 8, 331, 25);
    label_time.setText("");
    cp.add(label_time);
    label_titel.setBounds(32, 16, 144, 30);
    label_titel.setText("Work Meter");
    label_titel.setFont(new Font("Arial Narrow", Font.BOLD, 22));
    cp.add(label_titel);
    LABEL.setBounds(16, 72, 385, 217);
    cp.add(LABEL);
    button_start.setBounds(488, 120, 113, 49);
    button_start.setLabel("Start");
    button_start.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_start_ActionPerformed(evt);
      }
    });
    cp.add(button_start);
    button_clear.setBounds(424, 184, 113, 49);
    button_clear.setLabel("Clear");
    button_clear.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) { 
        button_clear_ActionPerformed(evt);
      }
    });
    cp.add(button_clear);
    textField_reason.setBounds(416, 80, 249, 33);
    cp.add(textField_reason);
    button_stop.setBounds(488, 120, 113, 49);
    button_stop.setLabel("Stop");
    button_stop.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_stop_ActionPerformed(evt);
      }
    });
    button_stop.setVisible(false);
    cp.add(button_stop);
    label_error.setBounds(416, 248, 555, 41);
    label_error.setText("");
    label_error.setFont(new Font("Arial", Font.PLAIN, 14));
    label_error.setForeground(Color.RED);
    cp.add(label_error);
    button_total.setBounds(552, 184, 113, 49);
    button_total.setLabel("Total Time");
    button_total.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_total_ActionPerformed(evt);
      }
    });
    cp.add(button_total);
    button_preferencesC.setBounds(848, 0, 153, 33);
    button_preferencesC.setLabel("Preferences");
    button_preferencesC.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_preferencesC_ActionPerformed(evt);
      }
    });
    cp.add(button_preferencesC);
    button_disableClock.setBounds(864, 40, 137, 33);
    button_disableClock.setLabel("Disable Clock");
    button_disableClock.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_disableClock_ActionPerformed(evt);
      }
    });
    cp.add(button_disableClock);
    button_disableClock.setVisible(false);
    button_setFileExtension.setBounds(864, 72, 137, 33);
    button_setFileExtension.setLabel("Set File Extension");
    button_setFileExtension.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_setFileExtension_ActionPerformed(evt);
      }
    });
    cp.add(button_setFileExtension);
    button_setFileExtension.setVisible(false);
    button_save.setBounds(848, 160, 153, 33);
    button_save.setLabel("Save");
    button_save.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_save_ActionPerformed(evt);
      }
    });
    cp.add(button_save);
    button_preferencesO.setBounds(848, 0, 153, 33);
    button_preferencesO.setLabel("Preferences");
    button_preferencesO.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_preferencesO_ActionPerformed(evt);
      }
    });
    cp.add(button_preferencesO);
    button_enableClock.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) { 
        button_enableClock_ActionPerformed(evt);
      }
    });
    button_enableClock.setBounds(864, 40, 137, 33);
    button_enableClock.setLabel("Enable Clock");
    button_enableClock.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        button_enableClock_ActionPerformed(evt);
      }
    });
    cp.add(button_enableClock);
    button_enableClock.setVisible(false);
    textField1.setBounds(864, 104, 137, 33);
    textField1.setText(".txt");
    textField1.setFont(new Font("Arial", Font.PLAIN, 26));
    textField1.setVisible(false);
    cp.add(textField1);
    // Ende Komponenten
    setVisible(true);
    // end of public Fenster_Tastureingabe
  }
  // Anfang Methoden
  public void button_start_ActionPerformed(ActionEvent evt) {
    ausgabe();
  } // end of button_start_ActionPerformed
  
  public void button_stop_ActionPerformed(ActionEvent evt) {
    stop();
  } // end of button_stop_ActionPerformed
  
  public void button_clear_ActionPerformed(ActionEvent evt) {
    LABEL.setText("");
  } // end of button_clear_ActionPerformed
  
  public void button_total_ActionPerformed(ActionEvent evt) {
    LABEL.setText(LABEL.getText()+"\n"+"\n"+"total time: "+countSave);
  } // end of button_total_ActionPerformed
  
  public void button_preferencesC_ActionPerformed(ActionEvent evt) {
    button_disableClock.setVisible(true);
    button_setFileExtension.setVisible(true);
    button_enableClock.setVisible(false);
  } // end of button_preferencesC_ActionPerformed
  
  public void button_preferencesO_ActionPerformed(ActionEvent evt) {
    button_disableClock.setVisible(false);
    button_setFileExtension.setVisible(false);
    button_enableClock.setVisible(false);
    textField1.setVisible(false);
  } // end of button_preferencesO_ActionPerformed
  
  public void button_disableClock_ActionPerformed(ActionEvent evt) {
    timeBoolean = false;
    button_enableClock.setVisible(true);
    button_disableClock.setVisible(false);
    label_time.setText("disabled");
  } // end of button_disableClock_ActionPerformed
  
  public void button_enableClock_ActionPerformed(ActionEvent evt) {
    button_enableClock.setVisible(false);
    button_disableClock.setVisible(true);
    timeBoolean = true;
  } // end of button_enableClock_ActionPerformed
  
  public void button_setFileExtension_ActionPerformed(ActionEvent evt) {
    extension = textField1.getText();
    textField1.setVisible(true);
  } // end of button_setFileExtension_ActionPerformed
  
  public void button_save_ActionPerformed(ActionEvent evt) {
    label_error.setForeground(Color.GREEN);
    label_error.setText("saving in progress...");
  } // end of button_save_ActionPerformed
  
  public static void time()
  {
    while (timeBoolean == true) {
      SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy kk:mm:ss, z");
      Timestamp zeit_a = new Timestamp(System.currentTimeMillis());
      String time_a = sdf.format(zeit_a);
      label_time.setText(""+time_a);
    } // end of while
  }
  
  public void ausgabe()
  {
    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy kk:mm:ss, z");
    Timestamp zeit = new Timestamp(System.currentTimeMillis());
    String time = sdf.format(zeit);
    LABEL.setText(LABEL.getText()+"\n"+time+": "+textField_reason.getText());
    button_start.setVisible(false);
    button_stop.setVisible(true);
    end = false;
    count = 0;
    countSek = 0;
    calculate();
  }
  
  public void stop()
  {
    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy kk:mm:ss, z");
    Timestamp zeit = new Timestamp(System.currentTimeMillis());
    String time = sdf.format(zeit);
    button_start.setVisible(true);
    button_stop.setVisible(false);
    end = true;
    calculate();
    LABEL.setText(LABEL.getText()+"\n"+"to"+"\n"+time+"\n"+"Duration:"+count+"\n");
    label_error.setText("");
    countSave = countSave+count;
  }
  
  public void calculate()
  {
    //rechnet die Differenz zwischen dem Start- und Enddatum aus!
    }
  }
  
  
  public void keyPressed(KeyEvent evt)
  {
    if (evt.getKeyCode() == KeyEvent.VK_ENTER && end == false) {
      ausgabe();
    } // end of while
    if (evt.getKeyCode() == KeyEvent.VK_ENTER && end == true) {
      stop();
    } // end of if
    if (evt.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
      LABEL.setText("");
    } // end of if
  }
  
  
  
  public void keyTyped(KeyEvent evt)
  {
    
  }
  
  public void keyReleased(KeyEvent evt)
  {
    
  }
  
  
  
  public static void main(String[] args) {
    new Fenster_Tastureingabe("Workmeter");
    time();
  } // end of main
  // Ende Methoden
  
  } // end of class Fenster_Tastureingabe

P.S. Ist übrigens keine Hausaufgabe! Wäre auch viel zu unsauber programmiert :lol:

viele grüße ;)
 

Ghostfish

Mitglied
Wo ist das Problem? Mit TextArea.getText() den Text auslesen. Anhängen an eine Datei etwa so:

Java:
try {
    boolean append = true;
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", append)));
    out.println("text");
    out.close();
} catch (IOException e) {
}
 

Funny77

Mitglied
hmm... das war ja einfach :D irgendwie hab ich das immer falsch gemacht :D Vielen Dank ;)

hast du noch einen vorschlag wie ich die zeilenumbrüche übernehmen kann? \n funktioniert zwar in der TextArea aber nicht in der Ausgabe...
 
T

trääät

Gast
ist es eigentlich standard von IDEs das diese anonyme ActionListener so implementieren das diese lediglich weitere methoden callen und dabei das Event mit übergeben ohne das dies verwendet wird ? man ... wie intiligent IDEs doch sind ... so ein bisschen überhaupt garnicht ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Textarea auslesen und beschreiben Java Basics - Anfänger-Themen 8
M Textarea auslesen Java Basics - Anfänger-Themen 6
P Textarea auslesen Java Basics - Anfänger-Themen 18
D Problem beim auslesen von TextArea Java Basics - Anfänger-Themen 3
P aus Textarea bestimmte Zeile auslesen Java Basics - Anfänger-Themen 3
R Variable in Textarea auslesen Java Basics - Anfänger-Themen 7
N Wert aus Coice auslesen und in textarea einfügen Java Basics - Anfänger-Themen 23
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
J Java TextArea Text bei hinzufügen makieren Java Basics - Anfänger-Themen 1
J Buchstaben aus textArea extrahieren Java Basics - Anfänger-Themen 4
O ScrollPane, TextArea Java Basics - Anfänger-Themen 1
J Ärger mit TextArea und Linesep. Java Basics - Anfänger-Themen 3
T Java FX TextArea Java Basics - Anfänger-Themen 3
M TextArea scrollbar bei editable false Java Basics - Anfänger-Themen 5
D JScrollPane mit TextArea Java Basics - Anfänger-Themen 5
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
T Klassen JTextArea und TextArea Java Basics - Anfänger-Themen 8
S Erste Schritte Sprachermittler - Datei öffnen, Text in TextArea, Bereinigen, Auswerten Java Basics - Anfänger-Themen 14
P JavaFX TextArea.setText Java Basics - Anfänger-Themen 13
K Symmetrische Verschlüsselung von TextArea Java Basics - Anfänger-Themen 7
fLooojava Output in einer Textarea einfärben Java Basics - Anfänger-Themen 7
S import java.*; vs import java.awt.TextArea Java Basics - Anfänger-Themen 7
S TextArea, RandomAccessFile, Apend und andere Tricks... Java Basics - Anfänger-Themen 7
G textarea action Java Basics - Anfänger-Themen 5
F Erste Schritte String von anderer Klasse auf TextArea von erster Klasse Java Basics - Anfänger-Themen 12
A Timer: textarea.getText() mit Variable vergleichen Java Basics - Anfänger-Themen 3
M TextArea hält Zeilengrenze nicht ein Java Basics - Anfänger-Themen 4
H Input/Output Inhalt einer TextArea in Hex umwandeln Java Basics - Anfänger-Themen 10
R Array in Textarea ausgeben Java Basics - Anfänger-Themen 3
Binary.Coder Bruch in Textarea Java Basics - Anfänger-Themen 5
0 String farbig in TextArea Java Basics - Anfänger-Themen 10
A TextArea und ScrollBar Java Basics - Anfänger-Themen 17
B ArrayList zu TextArea Java Basics - Anfänger-Themen 5
N leere JTextArea wird nicht angezeigt - TextArea aber schon? Java Basics - Anfänger-Themen 5
G Text aus TextArea in Zwischenablage kopieren Java Basics - Anfänger-Themen 6
S Texteingabe in Textarea sperren? Java Basics - Anfänger-Themen 3
M Scrollbar zu Textarea Java Basics - Anfänger-Themen 5
Luk10 TextArea und Konsole ... Java Basics - Anfänger-Themen 3
C ArrayList In textarea ausgeben Java Basics - Anfänger-Themen 3
D TextArea clearen mit setText("") ? Java Basics - Anfänger-Themen 21
K In TextArea ausgeben ? Java Basics - Anfänger-Themen 4
M im Programm TextArea hinzufügen Java Basics - Anfänger-Themen 2
K Txt statt in TextArea in JTable einlesen und bearbeiten können Java Basics - Anfänger-Themen 4
S String repräsentation eines XML-Files für Textarea formatieren. Java Basics - Anfänger-Themen 2
Z Text aus externer Datei in TextArea einlesen Java Basics - Anfänger-Themen 5
Z TextArea Größe festlegen Java Basics - Anfänger-Themen 22
S Zeilenumbruch awt.textarea Java Basics - Anfänger-Themen 16
P Textarea aktualisieren, Referenz fehlt Java Basics - Anfänger-Themen 4
J Multithreading mit einer TextArea Java Basics - Anfänger-Themen 29
S Konsole auf Textarea Java Basics - Anfänger-Themen 7
N String vom InputStream in TextArea übertragen Java Basics - Anfänger-Themen 6
E Probleme mit setText() bzw. append() bei TextArea Java Basics - Anfänger-Themen 13
D Probleme mit TextArea und Textfield Java Basics - Anfänger-Themen 27
M Scrollpane an Textarea anhängen Java Basics - Anfänger-Themen 3
W TextArea Probleme Java Basics - Anfänger-Themen 3
M String in textarea übernehmen klappt nicht Java Basics - Anfänger-Themen 13
P TextArea Problem Java Basics - Anfänger-Themen 8
G TextArea - Strings farbig Java Basics - Anfänger-Themen 2
D Button im Bezug auf TextArea Java Basics - Anfänger-Themen 17
Q TextArea - wie mache ich einen Absatz? Java Basics - Anfänger-Themen 9
H Textarea aktualisieren Java Basics - Anfänger-Themen 2
J Textarea (zeichen) in Zahlen umwandeln Java Basics - Anfänger-Themen 5
G Bild hinter TextArea Java Basics - Anfänger-Themen 2
G Automatischer Zeilenumbruch bei einer TextArea Java Basics - Anfänger-Themen 16
D textarea in einer JSP Java Basics - Anfänger-Themen 3
M Inhalt einer TextArea in die Zwischenablage kopieren Java Basics - Anfänger-Themen 2
L Textformatierung ist TextArea Java Basics - Anfänger-Themen 7
N In der Textarea an einer bestimmten Positon weiterschreiben? Java Basics - Anfänger-Themen 6
L Strings von Datei lesen und in TextArea schieben Java Basics - Anfänger-Themen 3
7 TextArea Java Basics - Anfänger-Themen 3
O Konsolenausgabe auf TextArea umleiten Java Basics - Anfänger-Themen 4
C HTML in TextArea deaktivieren. Java Basics - Anfänger-Themen 2
V TextArea einlesen, zeichen verändern, ausgeben! Java Basics - Anfänger-Themen 2
U Cursorposition in Textarea rausfinden Java Basics - Anfänger-Themen 7
R in einer TextArea den Cursor gleich anzeigen lassen Java Basics - Anfänger-Themen 3
G wieso ist die TextArea im Fenster nicht sichtbar Java Basics - Anfänger-Themen 3
N Teilweiseausgabe eines Vectors in eine TextArea Java Basics - Anfänger-Themen 21
B Größe der Textarea Java Basics - Anfänger-Themen 3
N Inhalt einer TextArea überschreiben Java Basics - Anfänger-Themen 4
M JDialog mit TextArea Java Basics - Anfänger-Themen 2
J TextArea auf Anfang setzen Java Basics - Anfänger-Themen 3
L Frage zu TextArea! Java Basics - Anfänger-Themen 16
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40

Ähnliche Java Themen

Neue Themen


Oben