我需要在android文件系统中将文件从一个目录移动到另一个目录。如何以编程方式检查两个路径是否在同一个挂载点上?
我想知道这个的原因是因为如果它们是,我们需要复制这些位而不是使用File.rename(newPath)。
当路径位于不同的挂载点时的示例:
用户希望将文件从内部存储移动到外部存储。
用户希望将文件从/ sdcard / files移动到samsungdevice上的/ sdcard / external_sd /文件。
答案 0 :(得分:5)
致电File.rename
。如果成功,它们就在同一个挂载点上。
答案 1 :(得分:2)
确定文件驻留在Android应用中的文件系统的一种方法:
通过调用File.getCanonicalPath()来获取文件的规范路径。
然后获取当前挂载的文件系统列表&它们的挂载点路径来自/ proc / mounts
并找到哪个挂载点路径是相关文件的规范路径的最完整字符串匹配,这应该为您提供该文件的挂载点/文件系统。
比较两个文件的结果。