sporadischer Fehler beim Schreiben auf NAS

_ardbeg_

Neues Mitglied
Hallo liebes Forum,
ich brauche Eure Hilfe beim Auffinden eines Fehlers in meinem Programm.
Das Programm läuft auf einen Raspberry mit Raspbian Betriebssystem in einem geschlossenen Heimnetz. Das Programm ließt regelmäßig unterschiedliche Daten aus meiner Heizung und schreibt diese formatiert auf mein NAS. Anbei der Code:
Java:
//Variablen deklarieren und initialisieren
   public static JFrame frame;
   public static JTextField textField = new JTextField();

   public static void main(String[] args) throws IOException, InterruptedException{
      
       EventQueue.invokeLater(new Runnable() {
           public void run() {
              
               frame = new JFrame();
               frame.setBounds(100, 100, 450, 300);
               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               frame.setVisible(true);
               frame.getContentPane().add(textField, BorderLayout.NORTH);
               textField.setColumns(10);
           }
       });
      
      
      
       Verbindung meineVerbindung = new Verbindung();
       PrintWriter meinWriter = null;
       String sStatus_HKPumpe;
       String sTemperatur;
       String sVerbrauch ;
       String sVerbrauch_Start;
       String sWW_Temperatur;
       String sPuffer_Oben_Temperatur ;
       String sPuffer_Unten_Temperatur ;
       String sKessel_Temperatur;
       String sDrehzahl_Luefter ;
       String sTextzeile;
       String sDatumAlt;
       String PfadLinux;
       @SuppressWarnings("unused")
       String PfadWin;
       String sPfad;

       PfadLinux = "/???/Datenlogger_";
       PfadWin = "C:\\???\\Datenlogger_";
       sPfad = PfadLinux; //PfadWin;
       Format zeitstempel = new SimpleDateFormat("HH:mm");
       Format dateiendung_datum = new SimpleDateFormat ("dd.MM.yy");
       meinWriter = new PrintWriter(new BufferedWriter(new FileWriter(sPfad + dateiendung_datum.format(new Date()) + ".txt")),true);
       sVerbrauch_Start = meineVerbindung.lies_Wert(IP_Verbrauch);
        sTextzeile = "Stand Verbrauch bei Dateierstellung:" + sVerbrauch_Start + ";" + "Status_HK_Pumpe;Au�entemperatur;Verbrauch;WWTemperatur;Puffer_Oben;Puffer_Unten;Kessel_Temp;Drehzahl;Zeitstempel" ;
       meinWriter.println(sTextzeile);
       meinWriter.flush();
       //meinWriter.close();
       sDatumAlt = dateiendung_datum.format(new Date());
        while (true) {
           //if abfrage, ob datum neu
           //System.out.println(dateiendung_datum.format(new Date()));
           if (dateiendung_datum.format(new Date()).equals(sDatumAlt)){
                  
           }
           else{
               meinWriter.close();
               sVerbrauch_Start = meineVerbindung.lies_Wert(IP_Verbrauch);
               meinWriter = new PrintWriter(new BufferedWriter(new FileWriter(sPfad + dateiendung_datum.format(new Date()) + ".txt")),true);
               //System.out.println("TESTAUSGABE"); //sVerbrauch_Start);
               sDatumAlt = dateiendung_datum.format(new Date());
               sTextzeile = "Stand Verbrauch bei Dateierstellung:" + sVerbrauch_Start + ";" + "Status_HK_Pumpe;Au�entemperatur;Verbrauch;WWTemperatur;Puffer_Oben;Puffer_Unten;Kessel_Temp;Drehzahl;Zeitstempel" ;
               meinWriter.println(sTextzeile);
               meinWriter.flush();
               //aktuellen Verbrauch als Startwert speichern für Tagesverbrauchberechnung
              
               //meinWriter.close();
           }
          
           if (meineVerbindung.lies_Wert(IP_Status_HKPumpe).equals("Ein")){
               sStatus_HKPumpe = "1";
           }
           else {
               sStatus_HKPumpe = "0";
           }
           sTemperatur = meineVerbindung.lies_Wert(IP_Temperatur);
           sVerbrauch = meineVerbindung.lies_Wert(IP_Verbrauch);
           sWW_Temperatur = meineVerbindung.lies_Wert(IP_WW_Temperatur);
           sPuffer_Oben_Temperatur = meineVerbindung.lies_Wert(IP_Puffer_Oben_Temperatur);
           sPuffer_Unten_Temperatur = meineVerbindung.lies_Wert(IP_Puffer_Unten_Temperatur);
           sKessel_Temperatur = meineVerbindung.lies_Wert(IP_Kessel_Temperatur);
           sDrehzahl_Luefter = meineVerbindung.lies_Wert(IP_Drehzahl_Luefter);
           sTextzeile = "";
           sTextzeile = sStatus_HKPumpe + ";" + sTemperatur + ";" + sVerbrauch + ";" + sWW_Temperatur+ ";" + sPuffer_Oben_Temperatur + ";" + sPuffer_Unten_Temperatur + ";" + sKessel_Temperatur+ ";" + sDrehzahl_Luefter+ ";" +  zeitstempel.format(new Date()) ;
           //System.out.println();
           //meinWriter = new PrintWriter(new BufferedWriter(new FileWriter(sPfad + sDatumAlt + ".txt")),true);
           meinWriter.println(sTextzeile);
           meinWriter.flush();
           //meinWriter.close();
           textField.setText("Programm läuft; letzter Schrieb um: " + zeitstempel.format(new Date()) );

           Thread.sleep(300000);
          
        }
        //meinWriter.close();
    }
}


Es funktioniert soweit alles prima, aber ich bekomme sporadisch Fehler in der Textdatei, dass nicht zeilenweise geschrieben wird, so mehrmals hintereinander in die selbe Zeile geschrieben wird; dazu als Beispiel die hochgeladenen Textdateien.

Kann sich einer von Euch erklären, woher das kommt? Es tritt in manchen Dateien gar nicht auf, manchmal nur einmal oder aber auch mehrmals und an beliebiger Stelle.
Ich hoffe, jemand kann helfen!
Besten Dank vorab für Eure Unterstützung und viele Grüße
_ardbeg_
 

Anhänge

  • Datenlogger_06.01.18.txt
    9,4 KB · Aufrufe: 5
  • Datenlogger_07.01.18.txt
    9,4 KB · Aufrufe: 3

mrBrown

Super-Moderator
Mitarbeiter
Schreibt wirklich nur dieses Programm in die Datei?

Es ist schon auffällig, dass es immer dann der Fall ist, wenn sDrehzahl_Luefter nicht 0 ist, und dann auch zusätzliche Semikolon eingefügt werden...
 

_ardbeg_

Neues Mitglied
Hallo Mr Brown,

danke für Deine schnelle Rückmeldung.

Der Hinweis mit dem
Java:
sDrehzahl_Luefter
ist schon mal ein Anfang; mir selbst ist das vor lauter Bäumen gar nicht mehr aufgefallen. Es scheint eine notwendige, aber leider nicht hinreichende Bedingung zu sein, da ich auch Dateien habe, in denen alles gut ist, obwohl der Wert nicht 0 ist, beim nächsten mal gibt es an der Stelle aber wieder ein Problem (siehe hochgeladene Datei).
Auffällig ist für mich auch, dass das formatierte Datum nicht richtig dargestellt wird; vielleicht ist das Problem irgendwo hier zu suchen?
Da ich nur ein Raspberry hab, der irgendetwas in diesem Verzeichnis tut, und nur ein Frame auf dem Desktop des Raspberrys zu sehen ist, gehe ich schon sehr sehr stark davon aus, dass sonst nichts auf die Datei zugreift.
Hast Du/habt Ihr noch weitere Ideen? Oder Vorschläge, wie ich das Problem am besten eingrenze?
Danke und viele Grüße
Lukas
 

Anhänge

  • Datenlogger_10.01.18.txt
    9,4 KB · Aufrufe: 2
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
X Netty TLS Authentifizierung Fehler Netzwerkprogrammierung 1
OnDemand API Aufruf besser steuern, wie Fehler vermeiden Netzwerkprogrammierung 20
V Ich finde den Fehler nicht... Netzwerkprogrammierung 2
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
F HTTP Website parsen Fehler 403 Netzwerkprogrammierung 2
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
M Wo ist mein Fehler ? o: Netzwerkprogrammierung 4
D Komischer Fehler Readline() Netzwerkprogrammierung 7
CookieSoft Fehler bei Socket Netzwerkprogrammierung 4
B RMI & Mysql -> Fehler bei der Compilierung Netzwerkprogrammierung 4
C Fehler bei PDF-Download Netzwerkprogrammierung 5
M ActiveMQ Anfänger-Fehler Netzwerkprogrammierung 3
N Socket Fehler bei Streams Netzwerkprogrammierung 2
F Socket ImageIcon über Socket --> Fehler Netzwerkprogrammierung 14
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
B Socket Daten empfangen funktioniert nicht richtig - wo liegt der Fehler? Netzwerkprogrammierung 7
L NullPointerException...finde den Fehler nicht Netzwerkprogrammierung 10
E einfache Frage: wie Fehler untersuchen mit Tomcat Netzwerkprogrammierung 5
R Fehler bei RMI in Verbidung mit JDBC Netzwerkprogrammierung 6
L RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000) Netzwerkprogrammierung 7
R Server - Client - Fehler? Netzwerkprogrammierung 3
M SOAP Messaging Fehler Netzwerkprogrammierung 10
J RMI Fehler beim Proxy Netzwerkprogrammierung 2
B Fehler 401 bei http GET Netzwerkprogrammierung 2
H RMI Fehler: access denied Netzwerkprogrammierung 10
J Vom BufferedReader lesen -> hängt ohne Fehler,ohne Except Netzwerkprogrammierung 2
C irc client: Fehler 451 Netzwerkprogrammierung 12
G Heimnetzwerkchatprogramm: Fehler im Code Netzwerkprogrammierung 11
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
T Brauche Hilfe beim GET-String für HttpURLConnection Netzwerkprogrammierung 4
A Automatisches Update beim Starten Netzwerkprogrammierung 1
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
M Nur die erste Nachricht kommt beim Server an Netzwerkprogrammierung 11
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
A Probleme beim Klassen-Import von sun.misc. ... Netzwerkprogrammierung 19
B Probleme beim ersten Netzwerkprogramm Netzwerkprogrammierung 3
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
S Seltsames Verhalten beim Empfangen von Daten über DataInputStream Netzwerkprogrammierung 12
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
Z Socket Probleme beim Senden und Empfangen Netzwerkprogrammierung 5
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Z Probleme beim Senden von Nachrichten an den Server Netzwerkprogrammierung 9
S Socket Verschiedene Exceptions beim Übertragen von Bildern über Socket Netzwerkprogrammierung 20
C ObjectInputReader wirft beim zweiten Aufruf eine Exception Netzwerkprogrammierung 3
Y RMI Initialisierung beim Server Netzwerkprogrammierung 10
B Socket Aufhängen beim Lesen Netzwerkprogrammierung 4
C Socket Probleme beim Lesen und Schreiben aus/in einen Socket Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
DEvent Keine IOException beim schreiben Socket Netzwerkprogrammierung 3
M Authentifizierung beim Start von Java-Applets Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
P Probleme beim weiter senden von Datein Netzwerkprogrammierung 10
S Threads beim Server koordinieren Netzwerkprogrammierung 5
K TrafficClass eines UDP Pakets kommt beim Empfänger nicht an Netzwerkprogrammierung 5
T Pfadangabe beim kopieren übers Netzwerk Netzwerkprogrammierung 5
Q NullPointExeption beim Versuch byte[] zu senden/writen Netzwerkprogrammierung 3
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
G Blockieren beim Öffnen der In und Outputstreams Netzwerkprogrammierung 2
I Problem beim empfangen von Daten (Zahlen) Netzwerkprogrammierung 7
J Was bedeutet: Address already in use: connect (beim client?) Netzwerkprogrammierung 4
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
J Problem beim Senden von File Netzwerkprogrammierung 4
G unbekannte Zeichen beim senden und lesen Netzwerkprogrammierung 2
V Problem beim Senden von Dateien Netzwerkprogrammierung 4
P problem beim schließen eines Streams Netzwerkprogrammierung 6
G Fehlermeldung beim Erzeugen der WSDL Datei unter Axis Netzwerkprogrammierung 2
C Session Problem beim Zugriff auf Webseiten Netzwerkprogrammierung 3
J while-Schleife / Abbruchbed. beim Einlesen eines Streams Netzwerkprogrammierung 4
M Fehlende Bits / Bytes beim kopieren Netzwerkprogrammierung 4
I Apache http-client: Problem beim Proxyaufruf Netzwerkprogrammierung 2
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
T RMI - Probleme beim Starten des Clients Netzwerkprogrammierung 4
D Problem beim holen einer PHP-Seite via HttpClient Netzwerkprogrammierung 19
G ActionEvent klappt beim Chat nicht Netzwerkprogrammierung 5
megachucky RMI - AccessControlException beim Naming.lookup() Netzwerkprogrammierung 12
G Probleme mit Firewall beim empfangen von dateien über socket Netzwerkprogrammierung 6
J Problem beim versenden von eigenen Objekten über RMI Netzwerkprogrammierung 2
M sessionhandling beim webserver Netzwerkprogrammierung 5
D Bekomme Dummyspace beim Internetseiten auslesen Netzwerkprogrammierung 2
R Problem beim Senden von Emails (Javamail) Netzwerkprogrammierung 2
TRunKX Hilfe beim senden und empfangen Netzwerkprogrammierung 2
S Probleme beim Beschränken der Geschwindigkeit Netzwerkprogrammierung 6
M Probleme beim Abfangen von Streams Netzwerkprogrammierung 5
M problem beim schicken von XML-DAtenpacketen via TCP Netzwerkprogrammierung 3
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben