在Android中我们如何复制文件并保留其只读属性?

发布于 2025-01-08 17:02:57 字数 459 浏览 0 评论 0原文

在我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘦怹 2025-01-15 17:02:57

我不相信 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 returning true or false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文