在 Android 中,getExternalCacheDir()
方法用于获取应用的外部缓存目录。这个目录通常用于存储应用的临时文件和缓存。要与存储结合使用,你可以按照以下步骤操作:
- 获取外部缓存目录的路径:
File externalCacheDir = getExternalCacheDir(); String path = externalCacheDir.getAbsolutePath();
- 使用
Environment.getExternalStorageDirectory()
获取应用的外部存储目录。这将返回一个File
对象,表示应用的外部存储空间。
File externalStorageDir = Environment.getExternalStorageDirectory(); String path = externalStorageDir.getAbsolutePath();
- 结合使用这两个目录。例如,你可以将缓存文件存储在外部存储目录中,以便在其他设备上共享缓存数据。
// 创建一个文件对象,表示外部存储目录中的缓存文件 File cacheFile = new File(externalStorageDir, "my_cache_file.txt"); // 将数据写入缓存文件 try (FileOutputStream fos = new FileOutputStream(cacheFile)) { fos.write("This is a cached file.".getBytes()); } catch (IOException e) { e.printStackTrace(); }
- 在需要访问这些文件时,可以使用相对路径或绝对路径。例如,你可以使用
File.separator
获取系统的文件分隔符,然后构建文件的完整路径。
// 使用文件分隔符构建文件的完整路径 String fullPath = externalCacheDir.getAbsolutePath() + File.separator + "my_cache_file.txt"; // 读取缓存文件的内容 try (FileInputStream fis = new FileInputStream(fullPath)) { byte[] data = https://www.yisu.com/ask/new byte[(int) cacheFile.length()];"Cached File", content); } catch (IOException e) { e.printStackTrace(); }
请注意,从 Android 10(API 级别 29)开始,对外部存储的访问受到限制。为了在这些新版本上正确访问外部存储,你需要使用分区存储模型(Scoped Storage)或 MediaStore API。