BufferReader --> BufferWriter

Status
Nicht offen für weitere Antworten.

Gubi

Mitglied
gibts es zu diesem Code:

Code:
private String einlesen() {
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\test.txt")));
            String text="";
            for(String buffer;(buffer = in.readLine()) != null; text+=buffer);
            return text;
        }catch (IOException io) {
            io.printStackTrace();
            return "";
        }
    }

eine vergleichbare BufferWriter? Also nach dem gleichen Prinzip wie oben nur halt, dass man auf die "test.txt" schreibt?


Gruß
Gubi
 

Reality

Top Contributor
Ja.
Code:
BufferedWriter bf = new BufferedWriter(new FileWriter("bla.txt"));
bf.write(deinString);
bf.close();

EDIT: Aber für was dein InputStreamReader gut sein soll, verstehe ich immernoch nicht. Geht auch ohne.

Liebe Grüße
Reality
 

Gubi

Mitglied
danke für deine antwort, aber was meinst du mit "dein string"? ich will einen text aus einer JTextArea speichern.
 

Reality

Top Contributor
Code:
String s = deineJTextArea.getText();

Liebe Grüße
Reality
 

Reality

Top Contributor
Ich weiss ja nicht, wie du deine JTextArea benannt hast, darum schreibe ich auch deineJTextarea und deinString.

Den String übergibst du dann einfach bf.write(deinString);

Liebe Grüße
Reality
 

Gubi

Mitglied
meine TextArea heißt "ta"

vielleicht könntest du deinen code von eben nochmal aktualisiert posten.

thx
 

Reality

Top Contributor
Code:
String text = ta.getText()
BufferedWriter bf = new BufferedWriter(new FileWriter("bla.txt"));
bf.write(ta);
bf.close();
 
G

Guest

Gast
das ganze sieht jetzt so aus:

Code:
 private String auslesen() {
        try {
            String text = ta.getText();
            BufferedWriter bf = new BufferedWriter(new FileWriter("C:\\test.txt"));
            bf.write(ta);
            bf.close();
            return text;
        }catch (IOException io) {
            io.printStackTrace();
            return "";
        }
          }


mit der zeile: bf.write(ta); habe ich alleerdings einen fehler. aufrufen will ich das speicher über einen button, der quelltext dafür sieht so aus:

Code:
public void actionPerformed2(ActionEvent al){
        if(al.getSource() == btnSave){
            ta.setText(auslesen());
        }
    }

kann mir einer helfen?
 

Reality

Top Contributor
Code:
bf.write(ta);
Das ist auch nicht logisch, was du da schreibst. Du hast den Inhalt von ta in text kopiert und musst dann auch text schreiben.
also:
Code:
bf.write(text);

Liebe Grüße
Reality
 

Reality

Top Contributor
Hast du auch etwas in der TextArea eingegeben? :D
Wird wenigstens ein leeres test.txt erstellt?

Liebe Grüße
Reality
 

Gubi

Mitglied
ja habe etwas eingegeben. :D

jedoch legt er weder eine text.txt an, noch speichert er den text in eine bestehende text.txt
 

Gubi

Mitglied
:) so nun geht es. jedoch brauche ich bei 2 buttons auch 2mal eine actionPerformed. kann ich die dann actionPerformed2 nennen?

Code:
    // Button zum speichern
    public void actionPerformed2(ActionEvent al){
        if(al.getSource() == btnSave){
            ta.setText(auslesen());
        }
    }

weil so geht es nicht. mache ich aber:

Code:
    // Button zum speichern
    public void actionPerformed(ActionEvent al){
        if(al.getSource() == btnSave){
            ta.setText(auslesen());
        }
    }

geht es. jedoch ist das schon belegt in meinem code.
 

Reality

Top Contributor
Setz mal deinen Grips ein. ;) (nicht böse gemeint)

Code:
   // Button zum speichern
    public void actionPerformed(ActionEvent al){
        if(al.getSource() == btnSave){
            ta.setText(auslesen());
        }
         else if(al.getSource() == blabla){
           //Code
        }
    }
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben