如何在Android上使用文件描述符获取文件路径



我需要使用getFileDescriptor()返回的文件描述符获得文件绝对路径。我该怎么做呢?

在Linux内核下运行的系统上,这将是所有当前 Android实现,每个文件描述符将在/proc/[processid]/fd中有一个条目,该条目是指向文件描述符目标的符号链接-不仅适用于常规文件,还适用于许多其他可能的目标,如管道和套接字。

下面是一个运行在android设备上的cat > /mnt/sdcard/foo进程的部分示例

$ ls -l /proc/3528/fd
lrwx------ shell    shell             2013-06-06 10:31 0 -> /dev/pts/1
l-wx------ shell    shell             2013-06-06 10:31 1 -> /mnt/sdcard/foo
lrwx------ shell    shell             2013-06-06 10:31 2 -> /dev/pts/1
lrwx------ shell    shell             2013-06-06 10:31 6 -> socket:[188850]

在Java中读取符号链接"留给读者作为练习"。

在桌面linux上,有一个lsof工具,它通过所有进程的这些目录,并转储一个打开的文件列表-然而,这在Android上不会太有用,因为每个应用程序的userid的使用会限制这种trolling。但是你仍然可以查找属于你的应用程序本身的fd,或者在相同userid下运行的任何其他进程。

相关内容

  • 没有找到相关文章

最新更新