在Android中的文件中以二进制格式写入数据

时间:2011-05-17 12:01:30

标签: android file-io data-storage

大家好: 制作一个示例应用程序,我们可以在其中存储数据,然后可以读取它。 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中,它不应该显示存储在文件中的文本,或者应该显示一些其他数据。但是当我阅读时,数据也可以以字符串形式读取。请帮助

2 个答案:

答案 0 :(得分:2)

您可以使用Android的内部存储空间,该存储空间对您的应用程序而言是私有的:

  

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

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

答案 1 :(得分:1)

在将字符串保存到流中之前加密字符串,以及另一种方法来读取它。如果您希望文件的内容不可读,加密将是一场胜利。