Tengo la intención de utilizar la función markSupported para verificar el primer byte para verificar el formato y luego restablecerlo, por favor dígame qué flujo se debe usar para la comunicación basada en tcp en java. Para la mayoría de las transmisiones, como datainputstream no proporciona esta función. Por favor, pueden darme algunos consejos para usar la marca y reiniciar.Cómo utilizar la característica markSupported de inputstream java
Respuesta
Puede usar un BufferedInputStream
alrededor de cualquier otro flujo que tenga. Eso garantiza la marca/reinicio, siempre y cuando no intente leer más allá del tamaño del búfer después de marcar.
Eche un vistazo a PushbackInputStream, que parece que está diseñado para hacer lo que quiera.
Va a envolver un flujo de entrada existente y le permitirá leer un byte, y luego volver a colocarlo. Desde Javadoc:
Un PushbackInputStream agrega funcionalidad a otra secuencia de entrada, es decir, la capacidad de "retroceder" o "no leer" un byte. Esto es útil en situaciones en las que es conveniente que un fragmento de código lea un número indefinido de bytes de datos delimitados por un valor de byte particular; después de leer el byte de terminación, el fragmento de código puede "leerlo", de modo que la siguiente operación de lectura en la secuencia de entrada vuelva a leer el byte que se envió hacia atrás. Por ejemplo, los bytes que representan los caracteres que constituyen un identificador pueden terminar por un byte que representa un carácter de operador; un método cuyo trabajo es leer solo un identificador puede leer hasta que ve al operador y luego empujar al operador hacia atrás para volver a leerlo.
¡Nunca me di cuenta de esta clase! ¡Me gusta aprender! – dfa
- 1. Java: ¿Cómo puedo obtener la codificación de inputStream?
- 2. String de Java desde InputStream
- 3. Java InputStream espera datos.
- 4. Java InputStream tamaño
- 5. Java: InputStream marca de límite
- 6. Java SQL Resultado para InputStream
- 7. Prueba de InputStream vacío en Java
- 8. Redes de Java: evented Socket/InputStream
- 9. Cómo convertir byte [] a InputStream?
- 10. La diferencia de `InputStream`` DataInputStream` y `BufferedInputStream` en java?
- 11. Cómo hacer una copia profunda de un InputStream en Java
- 12. ¿Cómo convierto un InputStream a una cadena en Java?
- 13. Cómo clonar un InputStream?
- 14. ¿Cómo convierto un InputStream a BufferedImage en Java/Groovy?
- 15. Descomprimir un archivo de InputStream y devolver otro InputStream
- 16. Cómo convertir StringBuffer a InputStream en Java ME?
- 17. Cierre correcto del proceso Java InputStream de getInputStream
- 18. Proceso InputStream
- 19. ¿Cómo puedo convertir un objeto a Inputstream
- 20. ¿Cómo puedo convertir un InputStream sin comprimir en un InputStream gzip'ed de manera eficiente?
- 21. Lectura contenido de la petición desde Java InputStream zócalo, siempre se bloquea después de cabecera
- 22. ¿Dónde está la característica [Rollback] en Nunit?
- 23. Cómo convertir InputStream a FileInputStream
- 24. Cómo utilizar scala.None de código Java
- 25. ¿Cómo corrijo la envidia de la característica en este caso?
- 26. Cómo la característica 'rica' es la estructura de FireMonkey
- 27. ¿Es la falta de tipos primitivos sin firmar de Java una característica de Java la plataforma o Java el lenguaje?
- 28. InputStream vs InputStreamReader
- 29. Ruta del archivo/nombre de InputStream
- 30. Cómo implementar la característica Salir utilizando Spring Web MVC
1 ¿Por qué necesito una búsqueda en Google y una pregunta relacionada tangencialmente a resolver un problema cuya solución es intuitivamente llamado y documentado? Ah, los misterios de la mente humana ... –