• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Warum wird nur die erste Zeile im while Block ausgeführt?

Zwanglos

Zwanglos

Mitglied
Bin Anfänger aber mit python3 wird die ganze while Schleife ausgeführt,
Das Ergebnis mit Java sieht leider so aus:

{"dataId":"AAW9AfyzO9CyYfJ7vRX9B4AAB"

"devId":"732500878caab5f91c8b"

"productKey":"p9tcjpycdgh8zsvx"

"status":[{"1":"home"

"code":"master_mode"

"t":1615728793812

GrpOne: 1615728793812

while?:
package com.tuya.open.sdk.example;
import com.alibaba.fastjson.JSON;
import com.tuya.open.sdk.mq.AESBase64Utils;
import com.tuya.open.sdk.mq.MqConfigs;
import com.tuya.open.sdk.mq.MqConsumer;
import java.util.Arrays;
import java.sql.Timestamp;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ConsumerExample {
    public static void main(String[] args) throws Exception {
        String url = MqConfigs.EU_SERVER_URL;
        url = "pulsar+ssl://mqe.tuyaeu.com:7285/";
        String accessId = "5ts9iy";
        String accessKey = "44a9975";
        MqConsumer mqConsumer = MqConsumer.build().serviceUrl(url).accessId(accessId).accessKey(accessKey)
                .maxRedeliverCount(3).messageListener(message -> {
                            System.out.println("---------------------------------------------------");
                            System.out.println("Message received:" + new String(message.getData()) + ",seq="
                                    + message.getSequenceId() + ",time=" + message.getPublishTime() + ",consumed time="
                                    + System.currentTimeMillis());
                            String jsonMessage = new String(message.getData());
                            MessageVO vo = JSON.parseObject(jsonMessage, MessageVO.class);
                            System.out.println("the real message data:" );
                            String rmessage = AESBase64Utils.decrypt(vo.getData(), accessKey.substring(8, 24));
                            String[] arrData = rmessage.split(",", -1);
                            int millis=0;
                            Pattern p = Pattern.compile(".t.*:(\\d+)");
                            for(int i = 0; i< arrData.length; i++){
                                   System.out.println(arrData[i]+"\n");
                                Matcher m = p.matcher(arrData[i]);
                                while (m.find()) {
                                    System.out.println("GrpOne: "+m.group(1));
                                    millis = Integer.parseInt(m.group(1));
                                     Date date2 = new Date(millis*10000);
                                    System.out.println("Date2:"+date2);
                                }
                            
                               }
                         }
                );
        mqConsumer.start();
    }
}
 
Thallius

Thallius

Top Contributor
Ich kenne mich mit python nicht aus aber ich weiß, dass man reguläre ausdrücke von PHP nicht 1:1 nach Java übernehmen kann. Da gibt es irgendwelche Unterschiede die mich schon oft genervt haben. Vielleicht hast du das Gleiche Problem?
 
Zwanglos

Zwanglos

Mitglied
Ich kenne mich mit python nicht aus aber ich weiß, dass man reguläre ausdrücke von PHP nicht 1:1 nach Java übernehmen kann. Da gibt es irgendwelche Unterschiede die mich schon oft genervt haben. Vielleicht hast du das Gleiche Problem?
Nein, der Timestamp wird mit der regex perfekt erkannt, das merkt man daran, dass der richtige erkannte String in der ersten Zeile im while Block ausgegeben wird, aber danach geht es leider nicht im while Block weiter. Eine Fehlermeldung kommt aber auch nicht.
 
Thallius

Thallius

Top Contributor
Nein, der Timestamp wird mit der regex perfekt erkannt, das merkt man daran, dass der richtige erkannte String in der ersten Zeile im while Block ausgegeben wird, aber danach geht es leider nicht im while Block weiter. Eine Fehlermeldung kommt aber auch nicht.
Hast du auf doof mal probiert das initialisieren des pattern in die for Schleife zu nehmen?
 
Zwanglos

Zwanglos

Mitglied
Hast du auf doof mal probiert das initialisieren des pattern in die for Schleife zu nehmen?
Wie schon gesagt, der Ausdruck matched perfekt! Das Problem ist, dass ab der Zeile :
millis = Integer.parseInt(m.group(1));
aus Gründen die mir nicht klar sind nicht, nicht weiter ausgeführt wird, aber eben auch keine Fehlermeldung kommt. Einfach so, als gäbe es nur die erste Zeile im while Block,
 
Thallius

Thallius

Top Contributor
Wie schon gesagt, der Ausdruck matched perfekt! Das Problem ist, dass ab der Zeile :
millis = Integer.parseInt(m.group(1));
aus Gründen die mir nicht klar sind nicht, nicht weiter ausgeführt wird, aber eben auch keine Fehlermeldung kommt. Einfach so, als gäbe es nur die erste Zeile im while Block,
Naja date() ist schon ne Weile deprecated. Ka mit welcher Java version du arbeitest aber vielleicht liegt es daran
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Es fliegt eine NumberFormatException, weil 1615728793812 kein gültiger Integer ist.

Kann man sicherlich irgendwie konfigurieren, damit die Exception geloggt wird, ich kenn die Lib allerdings nicht.


Json mit Split und Regex verarbeiten ist btw nicht sehr empfehlenswert, da dabei auch die Formatierung relevant ist, die sich durchaus mal ändern kann.

Naja date() ist schon ne Weile deprecated. Ka mit welcher Java version du arbeitest aber vielleicht liegt es daran
Date selbst und und Date(long) sind nicht deprecated.
 
Zwanglos

Zwanglos

Mitglied
Es fliegt eine NumberFormatException, weil 1615728793812 kein gültiger Integer ist.

Kann man sicherlich irgendwie konfigurieren, damit die Exception geloggt wird, ich kenn die Lib allerdings nicht.


Json mit Split und Regex verarbeiten ist btw nicht sehr empfehlenswert, da dabei auch die Formatierung relevant ist, die sich durchaus mal ändern kann.


Date selbst und und Date(long) sind nicht deprecated.
Danke!!! Das ist die Lösung, aber für mich irgendwie ungewöhnlich und unerwartet, dass da keine Exception kommt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Nur erste Zeile wird ausgelesen Java Basics - Anfänger-Themen 4
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
E nur der erste (mehrerer Strings) wird ausgegeben Java Basics - Anfänger-Themen 15
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J JTable Titel wird nicht angezeigt Java Basics - Anfänger-Themen 6
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
H GridPane wird nicht angezeigt Java Basics - Anfänger-Themen 0
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
H Endkapital wird nicht korrekt ausgegeben. Java Basics - Anfänger-Themen 5
C Methodenrückgabe wird in der main nicht berücksichtigt Java Basics - Anfänger-Themen 2
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
kodela Hauptklasse wird nicht gefunden Java Basics - Anfänger-Themen 3
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
P Bedingung in Schleife wird nicht ausgeführt Java Basics - Anfänger-Themen 5
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
N Bedinugng If-Abfrage wird nie erfüllt Java Basics - Anfänger-Themen 4
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
H Wie wird ein String intern gespeichert? Java Basics - Anfänger-Themen 10
A char array wird überschrieben Java Basics - Anfänger-Themen 6
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
S setContentView(R.Layout.XXX) wird Rot angezeigt Java Basics - Anfänger-Themen 0
C Beispiel-Code mit Pair wird nicht compiliert. Java Basics - Anfänger-Themen 8
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
J Int wird als Null ausgegeben Java Basics - Anfänger-Themen 8
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
S for-Schleife wird ignoriert Java Basics - Anfänger-Themen 15
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
M BorderLayout, 2Panels, EAST wird nicht angezeigt ?? Java Basics - Anfänger-Themen 2
K File wird in der .Jar nicht gefunden Java Basics - Anfänger-Themen 3
J String wird in GUI falsch ausgegeben Java Basics - Anfänger-Themen 10
J JDatePicker: Datum wird nicht in Textfeld übernommen Java Basics - Anfänger-Themen 5
G String wird nach Einlesen aus Datei nicht erkannt Java Basics - Anfänger-Themen 3
J bundel - Datei wird nicht gefunden. Trotz STRG-SHIFT-J Java Basics - Anfänger-Themen 2
T PNG Datei wird nur manchmal geöffnet Java Basics - Anfänger-Themen 6
S Interpreter wird nicht gefunden Java Basics - Anfänger-Themen 1
Dann07 Sound wird nicht abgespielt Java Basics - Anfänger-Themen 25
T Dateiinhalt wird nicht in String eingelesen Java Basics - Anfänger-Themen 4
T In C:\java\bin wird kein javac angezeigt. Java Basics - Anfänger-Themen 1
T Bei mir wird keine javac angezeigt sondern nur javacpl Java Basics - Anfänger-Themen 2
U JRE_HOME Umgebungsvariable wird nicht erkannt Java Basics - Anfänger-Themen 7
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
H .class Datei wird nicht ausgeführt Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
G XML encoding wird nicht übernommen Java Basics - Anfänger-Themen 17
M ObservableList wird nicht richtig geleert Java Basics - Anfänger-Themen 0
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
D Klassen JTextField wird nur zu 50% angezeigt. Java Basics - Anfänger-Themen 15
der_Schokomuffin Hilfe gesucht: String wird auf null gesetzt! Java Basics - Anfänger-Themen 17
W Warum wird mir nichts angezeigt? Netzwerkprogrammierung Java Basics - Anfänger-Themen 1
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
UnknownInnocent Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
P Input/Output PQ-Formel wird nicht richtig berechnet Java Basics - Anfänger-Themen 6
UnknownInnocent Klassen mouseClicked wird nicht aufgerufen, während man die Maus bewegt Java Basics - Anfänger-Themen 4
M Klassen Warum wird es nicht gespeichert? Java Basics - Anfänger-Themen 2
N while Schleife wird nicht beendet, obwohl Sie hätte breaken sollen Java Basics - Anfänger-Themen 4
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
P Array wird automatisch überschrieben Java Basics - Anfänger-Themen 3
D JAVA JDK korrekt installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 2
F Quellcode wird nicht in cmd angezeigt Java Basics - Anfänger-Themen 8
B Gefülltes Array wird mit nullwerten übergeben Java Basics - Anfänger-Themen 9
F Java int-Wert wird resetet Java Basics - Anfänger-Themen 21
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
J Linie wird zu lang gezeichnet Java Basics - Anfänger-Themen 4
K Warum wird if-Schleife nicht ausgeführt? Java Basics - Anfänger-Themen 13
J GUI wird direkt nach dem erstellen weiß übermalt Java Basics - Anfänger-Themen 3
D Klassen Warum wird das Attribut nicht ausgegeben? Java Basics - Anfänger-Themen 8
D Schleife wird nicht "ausgeführt" Java Basics - Anfänger-Themen 10
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
B Datentypen Welcher Typ wird beim Casten übernommen? Java Basics - Anfänger-Themen 12
R jar wird nicht ausgeführt Java Basics - Anfänger-Themen 3
L Input/Output Println wird doppelt ausgeführt Java Basics - Anfänger-Themen 11
L Es wird nichts gezeichnet??? Java Basics - Anfänger-Themen 2
N Methoden warum wird diese Methode aufgerufen Java Basics - Anfänger-Themen 9
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
T Methoden char wird nicht ausgegeben Java Basics - Anfänger-Themen 3
H Wieso wird mir ein Fehler angezeigt? Java Basics - Anfänger-Themen 5
L Werbung wird nicht geladen Java Basics - Anfänger-Themen 0
J Collections Generics: Typ wird nicht erkannt Java Basics - Anfänger-Themen 7
Xentox501 KeyTyped wird nicht wahrgenommen Java Basics - Anfänger-Themen 8
Xentox501 keyevent.VK_LEFT wird beim drücken jeder belibigen Taste aktiv. Java Basics - Anfänger-Themen 3
O Schlüsselworte Syso wird nicht erkannt Java Basics - Anfänger-Themen 4
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
P Erste Schritte JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 4
J Klasse wird als private erkannt obwohl sie public deklariert ist Java Basics - Anfänger-Themen 3
T Methoden Methode wird nicht auf Konsole ausgeführt Java Basics - Anfänger-Themen 3
F Erste Schritte Programm wird nicht geladen Java Basics - Anfänger-Themen 2
F Interface ImageIcon wird nicht angezeigt Java Basics - Anfänger-Themen 4
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
R actionPerformed wird nicht ausgeführt Java Basics - Anfänger-Themen 5
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
Ruschi JDK installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 48
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben