在Android中我们如何复制文件并保留其只读属性?
在我的 Android 应用程序中,我希望能够复制只读文件并使新版本也只读。
在目标文件上使用 setReadOnly() 方法只会返回 false,表明失败,当然检查文件本身表明它没有设置只读属性。
--编辑-- 正如 David Give 所建议的,这只适用于 SD 卡上的文件。内部文件将与 setReadOnly() 一起正常运行。
我的清单文件包含行
,我能够在我的应用程序中成功执行各种其他文件操作。
在寻找解决方案时,我看到一些人使用 Linux 命令,他们说这是一种“肮脏”的方式,那么我们是否有其他“干净”的方式可供选择呢?
我正在编写的应用程序正在使用 Android 2.1(如果相关的话)。
In my Android app, I would like to be able to copy a read only file and have the new version also read only.
Using the setReadOnly() method on the destination file only returns false, showing that it failed, and of course checking the file itself shows that it has not had the read only attribute set.
--edit-- As David Given suggests below, this only applies to files on the SD card. Internal files will behave appropriately with setReadOnly().
My manifest file has the line<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
and I'm able to do all sorts of other file operations successfully in my app.
In looking for a solution I've seen a couple of people using linux commands, and they've said that this is a 'dirty' way of doing it, so is there an alternative 'clean' way available to us?
The app I'm writing is using Android 2.1 if that's relevant.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不相信 SD 卡支持这样的文件属性。我认为你只能将内部存储上的文件设置为只读。 (因为SD卡使用FAT文件系统,但内部存储使用适当的Linux文件系统。)
检查
setReadOnly()
的结果,看看它是否返回true
或假
。I don't believe the SD card supports file attributes like this. I think you can only make files read-only on the internal storage. (Because the SD card uses a FAT file system, but the internal storage uses a proper Linux filesystem.)
Check the result of
setReadOnly()
and see whether it's returningtrue
orfalse
.