2011-07-16 10 views

Respuesta

11

¿Qué es?

Un descriptor de archivo es un objeto que un proceso utiliza para leer o escribir en un archivo abierto y abrir sockets de red.

FileDescriptor objetos, que representan los identificadores de descriptor de archivo de Linux sin procesar, pueden escribirse y los objetos ParcelFileDescriptor pueden volver a operar en el descriptor de archivo original. El descriptor de archivo devuelto es un duplicado del descriptor de archivo original: el objeto y fd son diferentes, pero operan en la misma secuencia de archivo subyacente, con la misma posición.

y ¿Qué puede hacer?

Crear tuberías, crear fds desde sockets, abrir/cerrar archivos.

+0

¿Puedo recibir el video del socket usando PercelFileDescrptor ? Porque se ve igual que la tubería para conectar el zócalo y el reproductor de medios – user829821

3

Implementa la API Parcable, que permite ponerla en paquetes y en intentos. Incluso es posible enviar un FileDescriptor entre procesos. (No he probado esto).

También el VPNService le proporciona un ParcelFileDescriptor.

+0

Esto es genial. Pero mi pregunta es cómo puedo encontrar la ruta para el archivo (si es un archivo) –

+0

Probablemente no con una API oficial. Es solo un fd envuelto o, en otras palabras, solo un número entero. No sé de una API de UNIX que te permita obtener la ruta de acceso de un fd. – plaisthos

+0

@plaisthos: en Linux (y, por lo tanto, Android)/proc/$ PID/fd/$ FD es un enlace simbólico al archivo real. No estoy seguro si esto puede ser confiable. – mvds

0

Cada vez que se abre un archivo, el sistema operativo crea una entrada para representar este archivo y almacena su información. Cada entrada se representa con un valor entero y esta entrada se denomina descriptor de archivo. Básicamente, la clase Java FileDescriptor proporciona un identificador para la estructura subyacente específica de la máquina que representa un archivo abierto, un socket abierto u otro origen o receptor de bytes.

+0

Añade referencias a tu respuesta – NSNoob

Cuestiones relacionadas