verlassen, während ich versuche, die Daten aus dem gepufferten Leser zu lesen, habe ich die Daten.Aber ich kann nicht Verlassen Sie die while-Schleife, wenn die Zahl gleich null ist.Wenn ich Inputstream-Leser ich kann nicht aus der While-Schleife nach dem Lesen der Daten aus dem gepufferten Leser
Antwort
readLine()
kehrt bei Strom null, und nicht vor, und das Ende des Stroms auf einer Buchse nur auftritt, wenn der Peer die Verbindung geschlossen hat. Ihre Erwartungen scheinen fehl am Platz zu sein.
Es ist, weil Sie auf das Verständnis der Readline- Funktion und Implementierung davon scheitern. Sie lesen Daten aus Ihrem Puffer und vergleichen die Daten mit null, was offensichtlich nicht das ist, was Sie wollen. So, hier ist, wie ich Daten aus einem TCP-Socket lesen möchte.
while(statement == true){
int count = bufferedInputStream.read(buffer);
if (count == -1){
// Socket has been closed
} else {
// Data has been read.
// Do comparison here.
}
}
Hoffe, das hilft.
Sein Problem a, dass er aufhören möchte, in einem anderen (unausgesprochenen) Zustand zu lesen als am Ende des Streams. Dieser Code löst es nicht. – EJP
Es klang ziemlich klar für mich .. es gibt keinen anderen Weg, die Schleife zu beenden, wenn das der Fall ist. –
- 1. Separate Halter-Klasse aus dem Leser
- 2. Testen eines gepufferten Lesers, der aus dem Eingangsstrom liest
- 3. Sie können nach dem Lesen aus dem Datenstrom der Anfrage nach dem Start von py.test
- 4. Entfernen oder ignorieren Zeichen aus dem Leser
- 5. OrientDB - kann nicht aus dem Socket lesen
- 6. NSLog nicht nach dem Öffnen der App aus dem Gerät
- 7. kann nicht die Daten in der Steuerung aus dem
- 8. lesen TypedChoiceField Daten aus dem Formular
- 9. So lesen Sie Daten aus dem WebClient.UploadData
- 10. Ich kann keine Daten aus XML lesen
- 11. Ich kann Werte aus der CSV-Datei nicht lesen
- 12. Mongoose, kann nicht Daten aus dem Dokument
- 13. Warum ich das Sitzungsattribut nicht aus dem Portlet lesen kann, das in der AutoLogin-Klasse
- 14. Ich hatte einen Fehler, wenn Daten aus dem R
- 15. Ich kann Informationen aus der Windows-Registrierung nicht lesen
- 16. Wie kann ich die Abfragezeichenfolge nach dem Laden der Seite aus der URL entfernen?
- 17. Wie kann ich URLs aus Textdatei eins nach dem anderen
- 18. QClipboard kann keine Daten aus der Zwischenablage erhalten, wenn sie aus dem Editor kopiert wurden
- 19. Wie kann ich ein Bild aus der Datenbank aus dem Code abrufen, den ich verwende?
- 20. Wie der Dateinamen aus dem Ende der ich -h Ausgabe
- 21. Ich füge ein neues Feld zu json nach dem Lesen aus der CSV-Datei, wie ich den Wert hinzufügen kann
- 22. Wie kann ich die Daten aus dem Wörterbuch auslesen?
- 23. Bytecode aus dem Klassenpfad lesen
- 24. Vergleichen der Zeit bis zum Lesen() aus dem Dateisystem
- 25. Wie lese ich ein Verzeichnis aus dem Klassenpfad der Laufzeit?
- 26. Warum verliere ich Daten nach dem Löschen der Variablen
- 27. Wie kann ich Daten aus einem Netzwerkstrom synchron lesen?
- 28. Ich versuche Text für Textview aus dem Abrufen der Datenbank, aber ich kann das nicht tun
- 29. Sehr langsames Lesen aus dem Input-Stream, der aus dem Objekt abgerufen wurde - Commons FileUpload API
- 30. Kann nicht lesen Daten aus Realm-Datei
Ihr Code funktioniert wie vorgesehen. Es wird diese Schleife am Ende des Streams verlassen. Unklar, was du erwartest oder fragst. – EJP
während ich versuche, die Daten aus dem gepufferten Leser zu lesen, habe ich die Daten. Aber ich kann nicht aus der While-Schleife verlassen, wenn die Zahl gleich null ist. Ich habe die Nachricht wie folgt erhalten: "D/jdwp: processIncoming D/jdwp: handlePacket: cmd = 0x6, cmdSet = 0x1, len = 0xB, id = 0x2873C, flags = 0x0, dataLen = 0x0" – jibin
Sie * werden * beenden Die While-Schleife, wenn 'Nummer' Null ist. Keine zwei Möglichkeiten. Möglicherweise erwarten Sie, dass es magisch unter den falschen Umständen null wird? – EJP