【问题标题】:How do we copy files and retain their read only attribute in Android?我们如何在 Android 中复制文件并保留它们的只读属性?
【发布时间】:2012-03-15 15:08:05
【问题描述】:

在我的 Android 应用程序中,我希望能够复制只读文件并让新版本也是只读的。

在目标文件上使用setReadOnly()方法只返回false,说明失败,当然检查文件本身也表明它没有设置只读属性。

--edit-- 正如 David Given 下面所建议的,这仅适用于 SD 卡上的文件。内部文件将与 setReadOnly() 配合使用。

我的清单文件有<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 行,我可以在我的应用程序中成功执行各种其他文件操作。

在寻找解决方案时,我看到几个人使用 linux 命令,他们说这是一种“肮脏”的方式,那么我们是否可以使用另一种“干净”的方式?

如果相关的话,我正在编写的应用程序使用的是 Android 2.1。

【问题讨论】:

    标签: java android file permissions android-2.1-eclair


    【解决方案1】:

    我不相信 SD 卡支持这样的文件属性。我认为您只能在内部存储上将文件设为只读。 (因为 SD 卡使用的是 FAT 文件系统,而内部存储使用的是合适的 Linux 文件系统。)

    检查setReadOnly()的结果,看看它返回的是true还是false

    【讨论】:

    • 我刚刚再次检查,我正在尝试仅在模拟器上的 SD 卡上执行此操作。使用真实设备,我已经成功地在复制到 /mnt 文件夹(在 emu 上只读)的文件上使用了 setReadOnly()。谢谢。
    • 我会尝试 zxswing 的建议,看看是否适用于 SD 卡。如果不是,我会将您的答案标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2017-09-09
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多