一,说明
- 保存应用运行时需要较大的数据或图片
- 文件类型:任意
- 存储路径:/data/data/packageName/files/
- 可以设置为当前应用私有
- 应用卸载时删除此数据
二,API
读取文件
FileInputStream fis=openFileInput("logo.png")
得到文件输入流
保存文件
FileOuputStream fos=openFileOutput("logo.png",MODE_PRIVATE)
得到文件输出流
files文件夹
File filesDir=getFilesDir()
得到文件夹
操作assets下文件
AssetManager context.getAssets()
得到AssetManagerInputStream AssetManager.open(String fileName)
得到asset下文件输入流
加载图片文件
Bitmap BitmapFactory.decodeFile(String pathName)
得到BItmap(.bmp/.png/.jpg)
三,测试源码
public class IFActivity extends Activity {
private ImageView iv_if_image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_if);
iv_if_image = (ImageView) findViewById(R.id.iv_if_image);
}
public void onClickSave(View V) throws IOException {
AssetManager assetManager = getAssets();
InputStream is = assetManager.open("logo.png");
FileOutputStream fos = openFileOutput("logo.png", MODE_PRIVATE);
byte[] buffer=new byte[128];
int len=-1;
while((len=is.read(buffer))!=-1){
fos.write(buffer,0,len);
}
fos.close();
is.close();
Toast.makeText(this, "保存完成", 0).show();
}
public void onClickRead(View V) {
String filesPath = getFilesDir().getAbsolutePath();
String imagePath=filesPath+"/logo.png";
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
iv_if_image.setImageBitmap(bitmap);
}
}