📜  Android内部存储示例(1)

📅  最后修改于: 2023-12-03 14:59:17.425000             🧑  作者: Mango

Android 内部存储示例

在 Android 应用程序中,可以使用内部存储来存储应用私有数据。内部存储是一个应用私有的目录,只有当前应用可以访问它。应用程序可以在此目录下创建和删除文件,并可以在此目录下创建自己的子目录。

创建文件

要在内部存储中创建文件,可以使用 openFileOutput() 方法。该方法需要两个参数:文件名称和文件操作模式。

文件操作模式指定应该如何处理指定名称的文件。文件操作模式可以是 MODE_PRIVATEMODE_APPENDMODE_WORLD_READABLEMODE_WORLD_WRITEABLE 的组合。

以下代码展示了如何在内部存储中创建一个文件:

String fileName = "my_file.txt";
String content = "Hello, world!";
try {
    FileOutputStream outputStream = openFileOutput(fileName, Context.MODE_PRIVATE);
    outputStream.write(content.getBytes());
    outputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}

在这个示例中,我们创建了一个名为 my_file.txt 的文件,并将字符串 Hello, world! 写入文件。

读取文件

要从内部存储中读取文件,可以使用 openFileInput() 方法。该方法只需要一个参数:文件名称。

以下代码展示了如何从内部存储中读取一个文件:

String fileName = "my_file.txt";
String content;
try {
    FileInputStream inputStream = openFileInput(fileName);
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    StringBuilder stringBuilder = new StringBuilder();
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        stringBuilder.append(line).append("\n");
    }
    inputStream.close();
    content = stringBuilder.toString();
} catch (Exception e) {
    e.printStackTrace();
    content = null;
}

在这个示例中,我们读取了名为 my_file.txt 的文件,并将其作为字符串返回。

删除文件

要从内部存储中删除文件,可以使用 deleteFile() 方法。该方法只需要一个参数:文件名称。

以下代码展示了如何从内部存储中删除一个文件:

String fileName = "my_file.txt";
boolean deleted = deleteFile(fileName);
if (!deleted) {
    Log.e(TAG, "Error deleting file!");
}

在这个示例中,我们删除了名为 my_file.txt 的文件。

注意事项
  • 内部存储目录是一个应用程序私有的目录,其他应用程序无法访问它。
  • 内部存储目录大小限制为应用程序私有的 1.5GB。
  • 如果您的应用程序没有访问内部存储的权限,那么您必须向用户请求授权。
  • 您应该小心不要在内部存储中存储敏感信息,例如密码或 PIN 码。这些信息应该存储在安全的位置,例如 SharedPreferences、SQLite 数据库或 ContentProvider 中。
结论

这是一个简单的 Android 内部存储示例,您可以使用此示例来学习如何在 Android 应用程序中使用内部存储。在实际应用程序中,您可能需要使用更复杂的逻辑来创建、读取和删除文件,但这个示例可以帮助您了解内部存储的基本用法。