getExternalFilesDir()
是 Android 中的一个方法,它用于获取应用的外部文件目录的路径。这个目录是应用专用的,其他应用无法访问。它通常用于存储用户生成的内容,如图片、音频、视频等。这个目录有以下特点:
- 应用专用:只有创建它的应用才能访问这个目录。其他应用无法访问或修改这个目录中的文件。
- 持久化:即使应用被卸载,这个目录中的文件仍然会保留。但是,如果你清除应用的缓存和数据,这个目录中的文件也会被删除。
- 可读写:应用可以对这个目录进行读写操作。
使用 getExternalFilesDir()
方法的一般步骤如下:
- 获取外部文件目录的路径:
File externalFilesDir = getExternalFilesDir(null);
- 创建文件或目录:可以使用
File
类的相关方法在外部文件目录中创建文件或目录。 - 读取和写入文件:可以使用 Java 的输入输出流(如
FileInputStream
和FileOutputStream
)来读取和写入这个目录中的文件。 - 删除文件或目录:可以使用
File
类的delete()
方法来删除这个目录中的文件或目录。
示例代码:
// 获取外部文件目录的路径
File externalFilesDir = getExternalFilesDir(null);
// 在外部文件目录中创建一个名为 "example.txt" 的文件
File exampleFile = new File(externalFilesDir, "example.txt");
try {
FileOutputStream fos = new FileOutputStream(exampleFile);
fos.write("Hello, World!".getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 读取 "example.txt" 文件的内容
FileInputStream fis = new FileInputStream(exampleFile);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
String content = new String(buffer, StandardCharsets.UTF_8);
System.out.println(content);
// 删除 "example.txt" 文件
exampleFile.delete();