Android中的file.renameTo(文件)可能出现什么问题

phi*_*ipp 5 java file-io android file file-rename

我读的文档renameTo(File)File.class的的Android SDK中的文档.

我们已经在生产中使用这种方法一段时间了,我仍然想知道可能出现的问题是什么.文件说

将此文件重命名为newPath.文件和目录都支持此操作.

许多失败是可能的.一些更可能的失败包括:

  • 包含源路径和目标路径的目录都需要写入权限.

  • 两条路径的所有父级都需要搜索权限.

  • 两条路径都在同一个挂载点上.在Android上,当尝试在内部存储和SD卡之间进行复制时,应用程序最有可能达到此限制.请注意,此方法在失败时不会抛出IOException.呼叫者必须检查返回值.

renameTo()可能失败的其他可能原因是什么(指更可能的失败)?打电话后有保证状态renameTo吗?如果renameTo()失败,我可以依靠原来的文件吗?我想检查的任何其他条件,确保它与文档中描述的一致吗?

msh*_*msh 2

在 Android 中,File.renameTo 调用 Linux rename()(通过 libcore)。您可以检查POSIX 标准以获取可能出现的故障列表,它在 Linux 上可能略有不同,但应该可以为您提供总体思路。

另请注意此声明:

如果 rename() 函数由于 [EIO] 之外的任何原因失败,则任何以 new 命名的文件均不受影响。