Android SD 卡文件系统读写指南79

Android 设备上的 SD 卡提供了额外的存储空间,用于存放应用程序、媒体文件和其他数据。为了与 SD 卡交互,Android 操作系统提供了文件系统 API,允许应用程序读取、写入和管理卡上的文件。

文件系统支持

Android 支持以下文件系统上的 SD 卡:FAT32exFATNTFS(Android 10 及更高版本)

访问权限

为了访问 SD 卡,应用程序需要以下权限:READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE这些权限可以添加到应用程序的清单文件中:<manifest> <uses-permission android:name=".READ_EXTERNAL_STORAGE" /> <uses-permission android:name=".WRITE_EXTERNAL_STORAGE" /></manifest>

文件系统 API

Android 为文件系统交互提供了以下 API:这些 API 允许应用程序使用标准 Java I/O 流来读取和写入 SD 卡上的文件。

访问 SD 卡

要访问 SD 卡,应用程序可以使用以下步骤:获取 SD 卡的根目录:File sdCard = ();使用 File 对象导航 SD 卡并访问文件:File myFile = new File(sdCard, "");使用 I/O 流读取或写入文件:FileInputStream fis = new FileInputStream(myFile);FileOutputStream fos = new FileOutputStream(myFile);

注意事项

以下是使用 SD 卡时需要注意的一些事项:SD 卡可能会被移除或损坏,因此应用程序应处理这些情况下的错误。应用程序只能访问其自己的私有存储空间,除非它们有 MANAGE_EXTERNAL_STORAGE 权限。在 Android 11 及更高版本中,应用程序对外部存储的访问受到分区存储框架的限制。

示例

以下示例代码演示了如何在 Android 中读写 SD 卡上的文件:public class SDCardExample { public static void main(String[] args) { // 获取 SD 卡根目录 File sdCard = (); // 创建一个新文件 File myFile = new File(sdCard, ""); // 向文件中写入数据 try (FileOutputStream fos = new FileOutputStream(myFile)) { ("Hello world!".getBytes()); } catch (IOException e) { (); } // 从文件中读取数据 try (FileInputStream fis = new FileInputStream(myFile)) { byte[] data = new byte[100]; (data); (new String(data)); } catch (IOException e) { (); } }}

通过遵循这些指南,应用程序可以有效地与 Android 设备上的 SD 卡交互,从而扩展其存储和文件管理功能。

2024-10-18


上一篇:Windows 和 Ubuntu 双系统指南:安装、配置和故障排除

下一篇:Android 操作系统的四大核心组件