BufferedWriter Fehler

Snaiper

Mitglied
Liebe Community,

ich sitze jetzt seit gut 2 Stunden an dem einem Problem:
Ich habe eine Klasse geschrieben die aussieht wie folgt:

Java:
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;
import javax.swing.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
//import com.sun.awt.AWTUtilities;

public class Test extends JFrame {

    int[] feldx;
    int[] feldy;
    int counter = 0;
    private JButton jButton1 = new JButton();
    
    public Test()
    {                       
        feldx = new int[20];
        feldy = new int[20];
        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
        this.addMouseListener(new java.awt.event.MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
             System.out.println("gespeichert");   
                if(counter < 20){
                feldx[counter] = e.getX();
                feldy[counter] = e.getY();
                counter = counter +1;
            }
               else{
                JOptionPane.showMessageDialog(null,"Maximal Anzahl an Positionen erreicht!");
               }
            }
        });
    }

    public static void main(String args[])
    {
        Test myFrame = new Test();
        //myFrame.setSize(400,300);
        myFrame.setVisible(false);
        myFrame.show();
        com.sun.awt.AWTUtilities.setWindowOpacity(myFrame, 0.5f );
    }
    
    public void give() throws java.io.IOException {
   try{  
       String path = "C://Data-Test.txt";
       BufferedWriter out = new BufferedWriter(new FileWriter(path));
      
       
    for(int i=0; i < 20; i++){
        int m= feldx[i];
        String str1 = Integer.toString(m);
        out.write(str1);
            
       System.out.println(feldx[i]);  
    }
    out.close();
   }
   catch(Exception e){
       System.out.println("Fehler: " + e);
    }
  }
}

Funktionsweise: Diese Klasse wird durch eine andere geöffnet, die sich jedoch ständig im Vordergrund (aber nicht aktiv) hält. Klicke ich nun auf den Frame, so speichern sich x- und y- Werte in das Feld (Array) ein (In der Konsole werden die "gespeichert"-Einträge angezeigt, auch konnte ich sie auf gleiche Weise aus dem Array lesen, das funktioniert also! ).
Wenn ich jetzt in dem aufrufenden (das, das sich im vordergrund hält) Programm einen Button drücke, wird die Methode give() aufgerufen.

Jetzt das Problem:
gespeichert
gespeichert
...
gespeichert
0
0
0
...
0
Fehler: java.io.IOException: Stream closed

Es wird für alle Felder 0 ausgegeben und eben diese Fehlermeldung... Das Dokument existiert aber (jedoch lediglich mit de Eintrag "0").

Ich hoffe einer von euch weiß jetzt weiter =)

Liebe Grüße,
Snaiper
 

nrg

Top Contributor
Java:
public void mousePressed(MouseEvent e) {
     System.out.println("gespeichert");   
     if(counter < 20){
          System.out.println(e.getX());
          feldx[counter] = e.getX();
          feldy[counter] = e.getY();
          counter = counter +1;
     }

würde als erstes mal kucken, was dir das MouseEvent denn überhaupt beim Befüllen liefert. Danach sieht alles auf den ersten Blick ok aus.
 

Aldimann

Bekanntes Mitglied
Ich hab mich jetzt nicht unendlichst in dein Programm eingelesen, daher eine schlichte vermutung die ich beim Überfliegen festgestellt habe.

Also:

Du erzeugst bei jedem aufruf von der give() Methode einen neuen BufferedWriter... Somit gehe ich mal davon aus, das er deine Datei schlicht jedesmal überschreibt, wenn du die Methode aufrufst womit logischerweise auch immer nur eine 0 in der Datei stehen kann...
 

Snaiper

Mitglied
@nrg: Das liefert den korrekten x- und y-Wert, habs gechekt...

@Aldimann: Ich habe die Methode mal umgeändert:
Java:
public void give() throws java.io.IOException {
   try{  
       String path = "C://Data-Test.txt";
       BufferedWriter out = new BufferedWriter(new FileWriter(path));
      
       
    //for(int i=0; i < 20; i++){
        int m= feldx[1];
        String str1 = Integer.toString(m);
        out.write(str1);
        
    
       System.out.println(feldx[1]);  
    //}
    out.close();

   }
   catch(Exception e){
       System.out.println("Fehler: " + e);
    }
  }

Das Resultat ist immernoch "0", owohl wiegesagt die Werte richtig eingelesen werden...

Aber: Es kommt folgende Meldung:
6v323gbc.jpg

Zeile 51 entspricht:
[JAVA=51]com.sun.awt.AWTUtilities.setWindowOpacity(myFrame, 0.5f );[/code]
 
Zuletzt bearbeitet:

tagedieb

Top Contributor
Dein Test Program funktioniert bei mir Problemlos, wenn ich give() nach jedem MousePressed Event aufrufe.

Es muss also daran liegen wie du die Klasse in die Andere integrierst.

Mal eine bloede Frage, aber du verwendest nicht etwa 2 verschiedene Instanzen von 'Test'. Eine die die Werte sammelt und eine die die Werte speichert?
 

Snaiper

Mitglied
@tagedieb: ich denke nicht, der Code ist wie folgt:
Java:
public class GUII extends JFrame {
  // Anfang Attribute
  private JLabel jLabel1 = new JLabel();
  private JButton jButton1 = new JButton();
  private JButton jButton2 = new JButton();
  Probe p = new Probe();
  // Ende Attribute

  public GUII(String title) {

.... //Den unwichtigen Teil rausgeschnitten

// Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    try{
      p.main(null);
    }
    catch(Exception e){System.out.println("Fehler 1: " +e);}
  }

public void jButton2_ActionPerformed(ActionEvent evt) {
     try{
      p.give();
      }
    catch(Exception e){System.out.println("Fehler 2: " +e);}
  }

Ich habe jetzt aber was herausgefunden:

Das Problem muss in folgendem Textstück liegen:
Java:
public Probe()
    {                       
        feldx = new int[20];
        feldy = new int[20];
        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
        this.addMouseListener(new java.awt.event.MouseAdapter()
        {
            public void mousePressed(MouseEvent e)
            {
           
                if(counter < 20){
                feldx[counter] = e.getX();
                feldy[counter] = e.getY();
                counter = counter +1;
                System.out.println("gespeichert" + e.getX());  
            }
               else{
                JOptionPane.showMessageDialog(null,"Maximal Anzahl an Positionen erreicht!");
               }
            }
        });
    }

Wenn ich im "if(counter < 20)"-Block den x-Wert so aufrufe wie hie rim Text, bekomme ich in der Konsole den x-Wert auch ausgegeben.
Mache ich aber stattdessen "System.out.println("gespeichert" + feldx[counter])", bekomme ich jedesmal "0".

Am Datentyp sollte es nicht liegen => MouseEvent-Info zu get(x)

LG,
Snaiper
 

Snaiper

Mitglied
Oke ich habs :D

Nachdem im Konstruktor gearbeitet wird -> Das Feld als static markieren ;D

Danke für die Hilfe, ich denke es sollte jetzt gehen ;)

Lg,
Snaiper
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 inputstream und bufferedwirter /outputstream und bufferedwriter Java Basics - Anfänger-Themen 9
berserkerdq2 IOstreams, was unterscheidet file von z. B. BufferedWriter? Java Basics - Anfänger-Themen 11
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D .txt überschreiben mit BufferedWriter ohne reset Java Basics - Anfänger-Themen 6
J Börsenanalyseprogramm mit ArrayList<BufferedWriter> Java Basics - Anfänger-Themen 14
S BufferedWriter innerhalb einer Methode Java Basics - Anfänger-Themen 2
X BufferedWriter Dauer in ProgressBar ausgeben? Java Basics - Anfänger-Themen 2
I Es wird nichts in BufferedWriter geschrieben Java Basics - Anfänger-Themen 3
N BufferedWriter Java Basics - Anfänger-Themen 13
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
E BufferedWriter Java Basics - Anfänger-Themen 9
M BufferedWriter schreibt nur "?" oO Java Basics - Anfänger-Themen 6
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
D BufferedWriter, split() und Zeilenumbrüche Java Basics - Anfänger-Themen 5
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
I bufferedwriter zeile einfügen Java Basics - Anfänger-Themen 3
M Probleme mit BufferedWriter Java Basics - Anfänger-Themen 4
R BufferedWriter macht komische Zeichen Java Basics - Anfänger-Themen 3
M unterschied OutpuStreamWriter und BufferedWriter Java Basics - Anfänger-Themen 5
B BufferedWriter - nur leere Datei erstellt Java Basics - Anfänger-Themen 4
T OOP Speichern mit BufferedWriter(FileWriter(File)) Java Basics - Anfänger-Themen 2
J I/O - PrintWriter oder BufferedWriter Java Basics - Anfänger-Themen 7
J Logliste erstellen mit BufferedWriter? Java Basics - Anfänger-Themen 2
G Warum Performancesteigerung durch EInsatz von BufferedWriter Java Basics - Anfänger-Themen 23
M BufferedWriter - Zeile neu anhängen! Java Basics - Anfänger-Themen 8
S BufferedWriter undefined constructor Java Basics - Anfänger-Themen 5
J Ausgabe mit BufferedWriter exakt untereinander anordnen Java Basics - Anfänger-Themen 10
G BufferedWriter Java Basics - Anfänger-Themen 15
I Problem mit BufferedWriter Java Basics - Anfänger-Themen 9
K BufferedReader & BufferedWriter Java Basics - Anfänger-Themen 6
A Verschlüsslungsprogram - Problem mit BufferedWriter Java Basics - Anfänger-Themen 3
T BufferedWriter Zeilenumbruch Java Basics - Anfänger-Themen 2
C BufferedReader und BufferedWriter im Netzwerk Java Basics - Anfänger-Themen 6
G BufferedWriter und BufferedOutputStream Java Basics - Anfänger-Themen 6
richis-fragen FileChannel (inChannel/outChanel) Fehler wenn Leerzeichen enthalten Java Basics - Anfänger-Themen 17
F Kann mir jemand bei dem Fehler helfen? Java Basics - Anfänger-Themen 6
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
E Matrizenmultiplikation Fehler Java Basics - Anfänger-Themen 0
Z Fehler Zeiterfassungsprogramm Anzeige Java Basics - Anfänger-Themen 3
C SwingWorker mit Fehler Java Basics - Anfänger-Themen 2
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
G Compiler-Fehler Fehler in Zeile 1 beheben, wie? Java Basics - Anfänger-Themen 9
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
ohneInformatik; Dynamische Zinsen. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
Fiedelbambu deriveFont Fehler wer kann Helfen? Java Basics - Anfänger-Themen 4
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
Lion.King Fehler in double und int Java Basics - Anfänger-Themen 7
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
D Datentypen LocalDate.parse() ergibt Fehler Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
L Ich weis nicht was der Fehler ist! Java Basics - Anfänger-Themen 14
L30nS JNI Fehler, JRE und JDK Java Basics - Anfänger-Themen 8
E Executable jar file fehler Java Basics - Anfänger-Themen 9
S Fehler beim Programm Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
J Syntax-Fehler? Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
I Fehler bei for-Schleife Java Basics - Anfänger-Themen 6
lol5443 Tic Tac Toe Fehler Java Basics - Anfänger-Themen 5
K Fehler bei der Implementierung Java Basics - Anfänger-Themen 6
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
N Was bedeutet dieser Fehler Java Basics - Anfänger-Themen 2
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
Lion.King Fehler Java Basics - Anfänger-Themen 5
AlexG. Nullpointer exeption Fehler Java Basics - Anfänger-Themen 0
C Fehler im Code Java Basics - Anfänger-Themen 10
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
V Wer findet den Fehler :) Java Basics - Anfänger-Themen 12
B ArrayIndexOutOfBoundsException, ich finde den Fehler nicht? Java Basics - Anfänger-Themen 10
A Compiler Fehler - not a statement Java Basics - Anfänger-Themen 2
Arita welche Fehler gibt es noch? wie kann ich es noch vervollständigen Java Basics - Anfänger-Themen 15
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
H Logik Fehler erkennen Java Basics - Anfänger-Themen 21
T Fehler in Caesar-Chiffre Java Basics - Anfänger-Themen 7
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
B Nicht reproduzierbarer Fehler bei Kompilierung - Shortcut "Bereinigung" Compiler ? Java Basics - Anfänger-Themen 4
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
P Was bedeutet dieser Fehler? Java Basics - Anfänger-Themen 31
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
R Ich sehe meinen fehler nicht Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben