2012-02-25 74 views
3

在我的Android應用程序中,我希望能夠複製只讀文件並使新版本也只能讀取。我們如何在Android中複製文件並保留其只讀屬性?

在目標文件上使用setReadOnly()方法只返回false,表明它失敗,當然檢查文件本身表明它沒有設置只讀屬性。

--edit--正如David Given在下面所述,這隻適用於SD卡上的文件。內部文件將與setReadOnly()相適應。

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

在尋找解決方案時,我見過一些使用linux命令的人,他們說這是一種'骯髒'的做法,那麼是否有另一種'乾淨'的方式可供我們使用?

我正在寫的應用程序使用Android 2.1,如果這是相關的。

回答

1

我不相信SD卡支持這樣的文件屬性。我認爲你只能在內部存儲上使文件只讀。 (由於SD卡採用的是FAT文件系統,但內部存儲採用了適當的Linux文件系統)。

檢查的setReadOnly()的結果,看看是否它的返回truefalse

+0

我剛剛再次檢查過,並且我正在嘗試僅在模擬器上的SD卡上執行此操作。使用真實設備,我已成功將setReadOnly()用於複製到/ mnt文件夾(只讀在emu上)的文件中。謝謝。 – tabs 2012-03-03 16:58:04

+0

我會嘗試zxswing的建議,看看它是否適用於SD卡。如果沒有,我會標記你的答案是正確的。 – tabs 2012-03-03 22:11:11

相關問題