【问题标题】:write data in binary format in Files in Android在 Android 中的 Files 中以二进制格式写入数据
【发布时间】:2011-05-17 12:01:30
【问题描述】:

大家好: 制作一个示例应用程序,我们可以在其中将数据存储在 File 上,然后可以读取它。, m 使用以下代码:
要编写的代码:

OutputStreamWriter out = null;
    try {
        out = new OutputStreamWriter(openFileOutput("finear.fin", 0));
        out.write(data); //data is String variable
        out.close();
        Toast.makeText(getApplicationContext(), "Data has been Saved! ", Toast.LENGTH_LONG).show();
    } 

阅读代码:

instream = openFileInput("finear.fin");
if(instream!=null)
{
InputStreamReader inputReader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputReader);
String dataRead = buffreader.readLine();
}

现在的问题是:数据以简单的文本形式存储,但我希望没有人可以从该文件中读取我的数据,它应该以某种二进制形式或某种符号类型格式存储数据,以便在打开文件时在 Windows 中,它不应该显示我存储在文件中的文本或应该显示一些其他数据。但是当我阅读时,这些数据也可以以字符串形式读取。请帮助

【问题讨论】:

    标签: android file-io data-storage


    【解决方案1】:

    您可以使用 Android 的内部存储,这是您的应用程序私有的:

    您可以将文件直接保存在设备的内部存储中。默认情况下,保存到内部存储的文件对您的应用程序是私有的,其他应用程序无法访问它们(用户也不能)。当用户卸载您的应用程序时,这些文件将被删除。

    您可以在此处找到文档:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

    【讨论】:

    • 所以你的意思是说手机内部存储中有一个私人区域。顺便说一句,我的默认路径是 /data/data/package/files/filename 所以当我们将手机连接到我的电脑时,这个文件将无法访问?
    • 在内部存储中保存未加密的重要数据同样不安全。有无数种(好吧,不是很多)阅读它们的方法。并且在有根手机中使用起来非常简单。
    • 是的,连接手机后无法访问。如果手机已root,也许它可以读取。
    • 正如 Federico Erostarbe 所说,加密增加了一层安全性。您可以同时使用这两种方式。
    【解决方案2】:

    在将字符串保存到流之前加密字符串,并以其他方式读取它。如果您希望文件的内容不可读,那么加密将是一个胜利。

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多