Estoy trabajando con un DataInputStream y tengo una pregunta sobre EOFExceptions.Cuándo se producirá una EOFException en las transmisiones de JAVA
Según docs java:
Señales de que un extremo del archivo o al final de corriente se ha alcanzado de forma inesperada durante la entrada.
Esta excepción se utiliza principalmente por los flujos de entrada de datos para señalizar el final del flujo. Tenga en cuenta que muchas otras operaciones de entrada devuelven un valor especial al final de la corriente en lugar de arrojar una excepción .
¿Esto significa que cuando se genera una EOFException, la transmisión NUNCA volverá a abrirse? ¿Significa que NUNCA deberías esperar más datos de eso alguna vez?
Si un outputtream está conectado a un inputstream y se llama a outputstream.close(), ¿un inputstream recibirá la EOFException o una IOException?
Un IOException se describe como:
Las señales que se ha producido una excepción de E/S de algunos tipo. Esta clase es la clase general de excepciones producidas por operaciones de E/S fallidas o interrumpidas .
¿Un cierre en la salida produce una EOFException o una IOException en el lado de la salida de datos en la salida?
Para referencia de otros: [esta respuesta] (http://stackoverflow.com/a/16513645/691859) explica por qué se lanza 'EOFException' en lugar de los métodos que devuelven un valor especial. – 2rs2ts