¿Me explican de forma sencilla qué es un flujo de entrada o salida?

Iniciado por theluigy13etv, 7 Septiembre 2012, 20:47 PM

0 Miembros y 1 Visitante están viendo este tema.

theluigy13etv

Hago esta pregunta porque por más que leo y leo no puedo internalizar el concepto de flujo ya que no encuentro definiciones precisas.
Por un lado he leído que un flujo es una abstracción de todo aquello que produzca o consuma información

Por otro lado leí que un flujo de entrada/salida representa una fuente de entrada o un destino de salida, entonces me imagino que un flujo de entrada podría ser el teclado y un flujo de salida el monitor.  ;D Entonces podría decir que un flujo puede representar diversas clases de fuentes como archivos, teclados, micrófonos, escáner, etc mientras que también podría representar diversas clases de destinos como monitores, impresoras, archivos, etc. Hasta aquí todo bien.

Luego me confundo al leer que un flujo representa una secuencia de bytes ¿ qué acaso el flujo no era la fuente de dónde se extraen los bytes o el destino hacia dónde van los bytes ? Incluso en un libro encontré que un flujo se refiere a los datos ordenados que se leen de un archivo o se escriben en un archivo. Con esto me confunden y ahora me hacen creer que el flujo son los datos que se mueven.

Luego leo lo siguiente: Un programa utiliza un flujo de salida para escribir los datos en un destino ¿ :huh:? Ahora me salen con que el flujo no es el destino en dónde llegan los datos sino que el flujo es el tubo por dónde movilizo los datos para que lleguen al destino.

Total, ¿el flujo es el fuente/destino? o ¿es el tubo por dónde se mueven los datos? o ¿es en sí los datos que se mueven?

Pues si es que hago una analogía con un río por dónde se desplaza el agua, entonces tendría:
Fuente/Destino
Canal
Agua

¿Cuál es el flujo? La Fuente/Destino - El Canal por dónde se desplaza el agua - ¿El agua?
De antemano gracias a todos por sus respuestas.  : ::)

Stakewinner00

Yo CREO que un flujo de salida en programacion seria la informacion que el programa muestra en pantalla, y un flujo de entrada lo que el usuario entra a traves del teclado micro o otro elemento.

En el flujo de salida intervienen la pantalla para mostrar el resultado y los bytes por lo que en realidad las definiciones que has leido podrian formar parte de una misma.

Tampoco me he dedicado mucho a buscar sobre ello pero siempre he pensado que era esto.

PD:Esto croe que no deberia estar en JAVA

tremolero

Bueno pues yo te doy mi opinion flujo seria el agua xDDD

Si algun experto lo aclara mejor....

ahora la diferencia entre entrada y salida, seria entre el monitor y teclado es decir, el teclado representa una entrada y el monitor una salida, por lo que el flujo que va desde el teclado seria un flujo de entrada y el flujo que va hacia el monitor seria de salida.

Por lo que creo que la deficion de que representa una secuencia de bytes, seria la mejor, y relacionada con lo de que saca los datos del flujo de salida, supongo que sera porque dentro del flujo ira mas informacion aparte de lo que tu escribas con el teclado por ejemplo.

Espero que lo que te he explicado te aclare algo y si lo confirma mas gente mejor que mejor ^^.

Saludos...