我正在 android 中为我的代码编写单元测试。这些自动化单元测试应该在 Android 上运行。
我的一个测试用例是以通用读取模式 -r--r--r- 创建文件,然后使用 remove()
删除它,但是 remove()
失败。经过调查,我发现失败是因为该文件是只读的。
作为解决方法,我使用 chmod()
显式更改权限,然后将其删除。
我的问题是,
- 为什么我们无法删除只读文件?是因为我们对所有者也有只读访问权限吗?
- 对于我正在做的事情有更好的解决方法吗?
最佳答案
您需要写入权限才能删除文件,因为您更改了文件的内容并删除了该文件。当您删除文件时,您实际上正在更改存储在文件系统(例如 EXT3、EXT4)中的该文件的引用计数,您还更改了它的删除时间以及一些其他信息。 要删除文件,您需要使用 chmod 授予用户写入权限。
关于android - 只读文件不能在android中使用C的remove()删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48639946/