我想在SD卡中创建一个只有我的应用可以读写的文件夹。我不希望用户有权访问。这是我的代码:
File file = new File(Environment.getExternalStorageDirectory(), "/myfolder");
file.mkdirs();
它成功创建了一个名为“myfolder”的目录,但每个人都可以访问它。如何保护创建的文件夹(或直接创建安全文件夹)?
答案 0 :(得分:0)
你不能完全。任何人都可以取出卡片,将其放入SD卡读卡器,并在没有任何Android检查的情况下阅读。
现在,如果你担心的是其他应用程序访问它(而不是手机的所有者) - 你需要KitKat或更高版本,SD卡上的文件默认是私有的,只要它们不会放在公共目录中。在4.4之前,SD卡完全不可能是公共领域。
答案 1 :(得分:0)
我认为加密是你最好的朋友。您可以使用只有您的应用拥有密钥的symmetric encryption。只要你的读/写不是很多,这应该是一个很好的解决方案。
答案 2 :(得分:0)
通过此示例,您可以将文件放在内部存储空间中的一个固定空间中。
写文件:
try {
OutputStreamWriter fout= new OutputStreamWriter(
openFileOutput("test.txt", Context.MODE_PRIVATE));
fout.write("This is a test.");
fout.close();
} catch (Exception ex) {
Log.e("Files", "Error writing file to internal memory");
}
您可以在以下网址找到您的文件:
/data/data/java_package/files/test.txt
阅读文件:
try {
BufferedReader fin = new BufferedReader(new InputStreamReader(openFileInput("test.txt")));
String texto = fin.readLine();
fin.close();
} catch (Exception ex) {
Log.e("Files", "Error reading file from internal memory");
}