Input/Output speichern aber wie?!

dinnas87

Mitglied
hallo und moin,

bevor ich hier mein problem schildere, möchte ich darauf hinweisen, dass ich bereits versucht habe selber mein problem zu lösen über bücher, google usw.;(

folgendes möchte ich realisieren:

ich habe mir ein kleines telefonbuch mit oberfläche programmiert. nun möchte ich über einen button alles speichern, was in mein textArea steht in einer textdatei. ich weiß, das es den so genannten fileWriter gibt aber irgendwie schaffe ich es nicht ihn einzubinden. ständig kommt die melden er würde das "new" nicht kennen oder so ähnlich. zum verständnis kopiere ich einen kleinen ausschnitt meines codes hier hinein:
Java:
  class save implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    {
      try
      {
        fw = new FileWriter( "fileWriter.txt" );   //diese new meine ich....
        fw.write( "Zwei Jäger treffen sich..." ); //diesen text möchte ich nicht hineinschreiben
        fw.append( System.getProperty("line.separator") ); // e.g. "\n"
      }
      catch ( IOException e ) {
        System.err.println( "Konnte Datei nicht erstellen" );
      }
      
    }
    
  }

danke schon mal im vorraus:toll:!! mfg chris
 

eRaaaa

Top Contributor
Fehlt da nicht die Deklaration von fw? :)

Code:
 FileWriter fw;

und du kannst die Exception nicht so nennen wie das ActionEvent ;D
 

dinnas87

Mitglied
hehe....wenn ich das alles wüsste, wäre ich recht froh;) ich kenn eigentlich nur c/c++ und das halt nur auf consolenebene. mir wäre ganz lieb, wenn du meinen code soweit korrigieren könntest, damit ich ein ansatz hätte....danke
 

eRaaaa

Top Contributor
:eek:
Java:
//imports....
 class save implements ActionListener
  {
    private FileWriter fw;
	 
    public void actionPerformed(ActionEvent e)
    {
      try
      {
        fw = new FileWriter( "fileWriter.txt" );   //diese new meine ich....
        fw.write( "Zwei Jäger treffen sich..." ); //diesen text möchte ich nicht hineinschreiben
        fw.append( System.getProperty("line.separator") ); // e.g. "\n"
      }
      catch ( IOException io ) {
        System.err.println( "Konnte Datei nicht erstellen" );
      }
      
    }

  }
 

dinnas87

Mitglied
ohje....hab nun mal mein fehlercode kopiert...klappt immer noch nicht:(

Java:
Compiliere D:\JAVA\Telefonbuch.java mit Java-Compiler
Telefonbuch.java:95:14: error: constructor FileWriter in class FileWriter cannot be applied to given types;
        fw = new FileWriter( "fileWriter.txt" );   //diese new meine ich....
             ^
  required: no arguments
  found: String
  reason: actual and formal argument lists differ in length
Telefonbuch.java:96:11: error: cannot find symbol
        fw.write( "Zwei Jäger treffen sich..." ); //diesen text möchte ich nicht hineinschreiben
          ^
  symbol:   method write(String)
  location: variable fw of type FileWriter
Telefonbuch.java:97:11: error: cannot find symbol
        fw.append( System.getProperty("line.separator") ); // e.g. "\n"
          ^
  symbol:   method append(String)
  location: variable fw of type FileWriter
.\FileWriter.java:9:25: error: constructor FileWriter in class FileWriter cannot be applied to given types;
        FileWriter fw = new FileWriter("Teledoc.txt");
                        ^
  required: no arguments
  found: String
  reason: actual and formal argument lists differ in length
.\FileWriter.java:10:18: error: cannot find symbol
        fw.write(zeige);
                 ^
  symbol:   variable zeige
  location: class FileWriter
.\FileWriter.java:11:11: error: cannot find symbol
        fw.close();
          ^
  symbol:   method close()
  location: variable fw of type FileWriter
.\FileWriter.java:13:14: error: cannot find symbol
      catch (IOExecption e)
             ^
  symbol:   class IOExecption
  location: class FileWriter
7 errors
 

faustdonner

Mitglied
Hallo erstmal. Also erstens warum Konsolenebene???? Nimm einfach Eclipse. Das ist ne hammergeile und einfache Entwicklungsumgebung. Eclipse gibts hier

Also und die Lösung ist einfach: FileWriter erwartet ein File-Objekt und keinen String.

Also so:

Java:
import java.io.File;

class Save implements ActionListener {
    private FileWriter fw;
     
    public void actionPerformed(ActionEvent e) {
        try {
            fw = new FileWriter(new File("fileWriter.txt"));   //diese new meine ich....
            fw.write( "Zwei Jäger treffen sich..." ); //diesen text möchte ich nicht hineinschreiben
            fw.append( System.getProperty("line.separator") ); // e.g. "\n"
        }
        catch ( IOException io ) {
            System.err.println( "Konnte Datei nicht erstellen" );
        }
    }
}
 

dinnas87

Mitglied
nochmals danke danke.....ich hab noch so einige probleme mit java und irgendwie scheint mein JavaEditor auch nicht das wahre zu sein. werde mich morgen mal mit eclipse oder wie das heißt beschäftigen und nochmals versuchen mein problem selber zu lösen aber bis jetzt funktioniert immer noch nichts bzgl. fileWriter usw...gn8
 

dinnas87

Mitglied
so...neuer stand der dinge. bin nun auf eclipse umgestiegen. ist doch einiges einfacher so. haben nun den code zusammen gebastelt und es läuft auch ohne probleme*stolz*;) aber leider schreibt er immer noch nicht den Text aus A1 in die Datei aber warum? hier mal mein gesamter Code.

Java:
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.awt.event.*;
import java.io.FileWriter;



public class Telefonbuch extends Frame
{ 
  public static final long serialVersionUID = 8060089821091893451L;
	
  TextField T1;
  TextField T2;
  TextField T3;
  
  TextArea A1;
  
  String zeige="";
  
  public static void main(String args[])
  {
    new Telefonbuch();
  }
  
  public Telefonbuch()
  {
    setSize(500,500);
    setTitle("Telefonbuch");
    setBackground(Color.lightGray);
    
    Label L1 = new Label("Name :");
    add(L1);
    Label L2 = new Label("Nachname :");
    add(L2);
    Label L3 = new Label("Nummer :");
    add(L3); 
    
    T1 = new TextField();
    add(T1);
    T2 = new TextField();
    add(T2);
    T3 = new TextField();
    add(T3);
    
    A1 = new TextArea();
    add(A1);
    
    Button B1 = new Button("Übernehmen");
    add(B1);
    Button B2 = new Button("Speichern");
    add(B2);    
    
    setLayout(null);
    L1.setBounds(250,50,100,25);
    L2.setBounds(250,100,100,25);
    L3.setBounds(250,150,100,25);
    
    T1.setBounds(350,50,100,25);
    T2.setBounds(350,100,100,25);
    T3.setBounds(350,150,100,25);
    
    B1.setBounds(350,300,100,25);
    B2.setBounds(350,350,100,25);
    
    A1.setBounds(20,50,200,300);
    
    B1.addActionListener(new klick());
    B2.addActionListener(new Save());
   
    addWindowListener(new ende());
    setVisible(true);
  }
  class klick implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    {
      String name="", lastname="", number="";
      
      name=T1.getText(); 
      
      lastname=T2.getText();
      
      number=T3.getText();
      
      zeige=A1.getText();
      
      A1.setText(zeige+name+ ", " + lastname+ ", " + number+"\n");
    }
  }
  
  class Save implements ActionListener {
	    private FileWriter fw;
	     
	    public void actionPerformed(ActionEvent e) {
	        try {
	            fw = new FileWriter(new File("fileWriter.txt"));   //diese new meine ich....
	            zeige=A1.getText();
	            fw.write( zeige ); // Inhalt von A1 in die TextDatei schreiben?!
	           // fw.append( System.getProperty("line.separator") ); // e.g. "\n"
	        }
	        catch ( IOException io ) {
	            System.err.println( "Konnte Datei nicht erstellen" );
	        }
	    }
	}
 
}
 

jgh

Top Contributor
dir fehlt noch ein flush, bzw. und ein close()

[java=96]try {
fw = new FileWriter(new File("fileWriter.txt")); // diese new
// meine
// ich....
zeige = A1.getText();
System.out.println(zeige);
fw.write(zeige); // Inhalt von A1 in die TextDatei schreiben?!
// fw.append( System.getProperty("line.separator") ); // e.g.
// "\n"
fw.flush();
fw.close();[/code]
 

dinnas87

Mitglied
Hallo liebe gemeinde,

nun habe ich mein nächstes problem. ich möchte jetzt aus dieser datei lesen und habe mir bereits etwas zusammen gebaut, was aber leider nicht funktion (warum sollte ich sonst hier schreiben;))

Java:
  class Oeffne implements ActionListener {
	    private FileReader in;
	     
	    public void actionPerformed(ActionEvent e) {
	        try 
	        {
	        	CharBuffer datei = null;
	        	in = new FileReader("Teledoc.txt");
	        	in.read(datei);
	        	A1.setText(datei+"\n");
	        	in.close();
	            
	        }
	        catch ( IOException io ) {
	            //System.err.println( "Konnte Datei nicht erstellen" );
	        }
	    }
	}

dies ist bereits mein zweiter versuch....der erste versuch mit BufferedReader war zwar erfolgreich aber laß mir nur die erste zeile ein :(
 

ie

Mitglied
Der BufferedReader ist auch zum Zeilenweise auslesen von Dateien gedacht.
Darum liest dir das einmalige aufrufen eines BufferedReaders auch nur eine Zeile ein.
Das ist ziemlich hilfreich wenn du eine Konfigurationsdatei einliest und die eingelesenen Werte wieder mit Java interpretieren willst.
Aber back to topic:
Ich verwende den BufferedReader trotzdem immer, weil es sehr einfach und zuverlässig ist.

Angenommen, deine Datei soll vom User nur wieder mit deinem Programm geöffnet werden und nicht in sontiger weise betrachtet oder bearbeitet werden, würde ich eine Endzeile definieren, die ansonsten überhaupt nicht vorkommt und diese nach deinem Text aus dem Textfeld als eigene Zeile in die Datei schreiben (z.B.: "###"), Der befehl für eine neue zeile ist übrigens "\r\n" als Teil eines Strings

Dann würde ich die Datei zeilenweise einlesen und die zeilen direkt in deine Textarea schreiben. Dieses Einlesen würde dann mittels while-Schleife funktionieren, die beendet wird, wenn die eingelesene Zeile "###" entspricht

Das ist jetzt viellicht nicht die Mega-Elegante Lösung, funktioniert bei mir aber wunderbar und ist relativ einfach.

Ansonsten scheint der BufferedReader bei dir ja funktioniert zu haben
LG ie
 

Clayn

Aktives Mitglied
Wozu ne extra "Endzeile"? Man kann doch einfach solange lesen bis die Datei leer ist bzw der Aufruf von read()
Code:
null
zurückgibt?

So mach ich das immer und hatte nie Probleme. Bei dir ist dann eher das Problem, das man die Endzeile wegmacht und wie verhält sich dann das Programm?
 

dinnas87

Mitglied
also wenn ich den BufferedReader nutze mit den "###" anstatt dem null, stützt java ab bzw. mein programm hängt sich auf. ich hab das nun so gemacht mit while und null aber gibt mir nur "null" in meinem textArea wieder. bin etwas ratlos;)

Java:
  class Oeffne implements ActionListener {
	    //private FileReader in;
	     
	    public void actionPerformed(ActionEvent e) {
	        try 
	        {
	        	String datei ;
	        	BufferedReader in= new BufferedReader(new FileReader("Teledoc.txt"));
	        	while((datei=in.readLine())!=null);
	        		A1.setText(datei+"\n");
	        	in.close();
	            
	        }
	        catch ( IOException io ) {
	            //System.err.println( "Konnte Datei nicht erstellen" );
	        }
	    }
	}
 
}
 

jgh

Top Contributor
probiere das mal mit einem StringBuilder:

Java:
try {
			String datei;
			BufferedReader in = new BufferedReader(
					new FileReader("Teledoc.txt"));
			StringBuilder sb = new StringBuilder();
			while ((datei = in.readLine()) != null){
				sb.append(datei);
			}
				A1.setText(sb.toString());
			in.close();

		} catch (IOException io) {
			System.err.println(io.getMessage());
		}

[edit]und lass dir immer -mindestens- die Exception auf der Konsole ausgeben...[/edit]
 
Zuletzt bearbeitet:
G

Gast2

Gast
verwende statt
Java:
System.err.println(io.getMessage());
lieber
Java:
io.printStackTrace();
Dann bekommst du immer noch die Zeilenangaben und den Aufrufstack ausgegeben, das macht die Fehlersuche leichter.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
G Aus JTextField auslesen und in JTable speichern - aber wie? Java Basics - Anfänger-Themen 2
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
U Wie ein Attribut von einer Klassenmethode in der Klasse speichern= Java Basics - Anfänger-Themen 2
B Screenshots machen und zwar viele und speichern Java Basics - Anfänger-Themen 12
C XML Datei speichern und laden Java Basics - Anfänger-Themen 18
Marlena Bauer Konsolenausgabe in .txt speichern Java Basics - Anfänger-Themen 6
B JaxB - Property vom Typ Object und LocalDateTime speichern? Java Basics - Anfänger-Themen 0
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
C File speichern Java Basics - Anfänger-Themen 5
D String und char in String speichern Java Basics - Anfänger-Themen 5
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
B JaxB - speichern vom Typ "Object" Java Basics - Anfänger-Themen 8
GermanPie Nachrichten Speichern Java Basics - Anfänger-Themen 2
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
C Wo Defaultpfad speichern? Java Basics - Anfänger-Themen 2
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M JTextField in ArrayList speichern Java Basics - Anfänger-Themen 4
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
C ResultSet in Array speichern Java Basics - Anfänger-Themen 5
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
J Kann man files in einer Klasse speichern. Java Basics - Anfänger-Themen 2
B Infos zu Attribute in einer Klasse speichern Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
A .txt-Datei mit Java speichern Java Basics - Anfänger-Themen 2
M Speichern unter. Java Basics - Anfänger-Themen 11
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
L Kommandozeileneinträge in Array speichern Java Basics - Anfänger-Themen 4
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
B XML in DB speichern -> Regelkonzept Java Basics - Anfänger-Themen 2
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
F Beste Datenstruktur zum Speichern? Java Basics - Anfänger-Themen 1
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
C Erste Schritte ArrayIndexOutOfBoundsException beim Speichern im Array Java Basics - Anfänger-Themen 2
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
L Speichern und Laden Java Basics - Anfänger-Themen 7
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
M Wie kann ich im JAVA-GUI im Textfeld ein Array speichern Java Basics - Anfänger-Themen 4
N Veränderungen dauerhaft speichern Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben