用于缓存的Android openFileInput()?

时间:2016-01-18 05:11:46

标签: android storage

如果我正确理解Android Storage Options,至少内部和外部存储有2个目录:

Internal Storage Files = getFilesDir()
Internal Storage Cache = getCacheDir()
External Storage Files = getExternalFilesDir()
External Storage Cache = getExternalCacheDir()
可以使用构造函数创建外部存储的两个目录的

FileInputStreamFileOutputStream。例如:

File file = new File(getExternalFilesDir().getAbsolutePath() + File.separator + fileName);
FileInputStream inputStream = new FileInputStream(file);

但是,在内部存储中,您只能使用openFileInput()openFileOutput()来创建FileInputStreamFileOutputStream。例如:

File file = new File(getExternalFilesDir().getAbsolutePath() + File.separator + fileName);
FileInputStream inputStream = openFileInput(file, Context.MODE_PRIVATE);

由于openFileInput()openFileOutput()从内部存储文件FileInputStream创建FileOutputStreamgetFilesDir(),我假设FileInputStream的构造函数和{ {1}}是唯一可用于内部存储缓存FileOutputStream的方法。有更多知识的人可以验证上述信息是否正确?

1 个答案:

答案 0 :(得分:2)

  

但是,在内部存储中,您只能使用openFileInput()和openFileOutput()来创建FileInputStream或FileOutputStream。

不,您可以使用getFilesDir()getCacheDir()internal storage上创建地理位置,例如new File(getCacheDir(), fileName)

  

我假设FileInputStream和FileOutputStream的构造函数是唯一可用于内部存储缓存getCacheDir()的方法。

openFileInput()没有getCacheDir()直接等价物,如果这是你的意思。