Android:什么是Xamarin / C#等效于Context.MODE_PRIVATE

时间:2017-04-28 15:45:56

标签: android xamarin xamarin.android privacy file-access

根据这个参考 https://developer.android.com/guide/topics/data/data-storage.html#filesInternal

通过在打开文件流时使用标志Context.MODE_PRIVATE,可以私下保存和访问文件,即没有其他应用或用户可以访问。

如何在Xamarin / C#

下实现相同目标

似乎有很多例子从Environment.SpecialFolder.Personal获取路径

string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

但是我看不到任何文档说明这些数据是应用程序的私有数据。事实上,有很多轶事帖子表明它与SpecialFolder.MyDocuments的枚举相同。

任何人都可以建议我如何写入App的私有内部存储。

非常感谢

1 个答案:

答案 0 :(得分:1)

  

任何人都可以建议我如何写入App的私有内部存储。

您可以使用以下C#代码写入内部存储:

string FILENAME = "hello_file";
string str = "hello world!";

using (var fos = OpenFileOutput(FILENAME, FileCreationMode.Private))
{
     //get the byte array
     byte[] bytes = Encoding.ASCII.GetBytes(str);
     fos.Write(bytes, 0, bytes.Length);
}

更新:您可以使用以下代码阅读内容:

using (var ios = OpenFileInput(FILENAME))
{
    string strs;
    using (InputStreamReader sr = new InputStreamReader(ios))
    {
        using (BufferedReader br = new BufferedReader(sr))
        {
            StringBuilder sb = new StringBuilder();
            string line;
            while ((line = br.ReadLine()) != null)
            {
                sb.Append(line);
            }
            strs = sb.ToString();
        }
    }
}