android-数据存储之手机内部file存储

一、基础概要

  1、说明:

    1>应用程序运行需要一些较大的数据或者图片可保存在手机内部

    2>文件类型:任意

    3>路径:/data/data/packageName/files/

    4>卸载应用时会删除此数据文件

    5>也可以设置操作数据文件的权限(同SharedPreferences)

二、练习

  1>FileInputStream fis=openFileInput("logo.png");     读取文件

  2>FileOutputStream fos=openFileOutput("logo.png",MODE_PRIVATE);   保存文件

  3>File filesDir=getFilesDir();    得到files文件夹对象

  4>操作asserts下的文件:

      .context.getAssets()    得到AssetManager

      .InputStream open(filename);  读取文件

  5>加载图片文件:

    Bitmap bitmap=BitmapFactory.decodeFile(String pathName);  (Drawable:表示可绘制图片对象)

  

保存图文件:

  1>得到InputStream  :读取assets下的logo.png

      AssetManager manager=getAssets();

  2>读取文件

      InputStream is=manager.open("logo.png");

  3>得到OutputStream  : /data/data/packageName/files/logo.png

      FileOutputStream fos=openFileOutput("logo.png",Context.MODE_PRIVATE);

  4>边读边写:

    byte[] buffer=new byte[1024];

    int len=-1;

    while((len=is.read(buffer))!=-1){

      fos.write(buffer,0,len);

    }

    fos.close();

    is.close();

读取图片:

  1>得到图片路径:  /data/data/packageName/files

    String filesPath=getFileDir().getAbsolutePath();

    String imgPath=filesPath+"/logo.png";

  2>加载图片文件得到bitmap对象:

    Bitmap bitmap=BitmapFactory.decodeFile(imgPath);

  3>将其设置到imageView中显示:

    iv_if.setImageBitmap(bitmap);

三、源代码

保存图片:

AssetManager manager=getAssets();
     InputStream is=manager.open("logo.png");
     FileOutputStream fos= openFileOutput("logo.png",Context.MODE_PRIVATE);
     byte[] buffer=new byte[1024];
     int len=-1;
     while((len=is.read(buffer))!=-1){
      fos.write(buffer, 0, len);
     }
     fos.close();
     is.close();
     Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();

读取图片:

时间: 2024-12-20 07:09:33

android-数据存储之手机内部file存储的相关文章

手机内部file存储

---恢复内容开始--- 将数据存储到文件中 package com.example.hzq_study; import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter; import android.app.Activity;import

Android——数据存储(课堂代码整理:SharedPreferences存储和手机内部文件存储)

layout文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="ma

Android——数据存储:手机内部存储

存取字符串和存取图片不相同 xml <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/et_3" android:hint="要存储的的内容"/> <EditText android:layout_width="match_parent" a

数据存储——手机内部文件存储

一.特点 1.存储的是任意类型的文件 2.使用IO输入输出流操作文件 3.存放的目录:/data/data/包名/files/ 4.可以设置不被其他应用操作 5.应用卸载之后,数据同时被删除 二.API 1.FileOutputStream  文件输出流 1-openFileOutput(文件名,操作模式) mode  操作模式 1>MODE_PRIVATE,不能被别的应用访问,覆盖模式 2>MODE_APPEND,不能被别的应用访问,追加模式 2-close( )关闭输出流 2.PrintS

手机内部文件存储——assets目录

一.创建 1./src/main/assets 2.切换到Project视图模式,在main下新建文件夹assets 二.特点 1.和res同等级别 2.主要是存放项目中的大文件 3.文件不受R类的管理 三.API 1.AssetManager  资产管理器 1-getAssets()   得到资产管理器 2-open(文件名)   返回文件的InputStream 2.ImageView:setImageBitmap(Bitmap  实例)  设置图片视图的位图 3.Bitmap   位图:B

手机外部文件存储(SD卡存储)

package com.atguigu.l04_datastorage; import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; import android.app.Activity;

Android数据持久化的方式总结

一.SharedPreferences 以.xml格式的文件进行存储,存储位置在data/data/package/shared_prefs/目录下. 存储步骤: 1.创建文件:getSharedPreferences(name, mode);name为文件名,如果有此文件存在,不再创建,直接用此文件. 2.获取文件编辑器:SharedPreferences.Editor se=preferences.edit(); 3.存入数据:se.putString("et_content",

Android数据存储——文件读写操作(File)

Android文件读写操作 一.文件的基本操作 Android中可以在设备本身的存储设备或外接的存储设备中创建用于保存数据的文件.在默认状态下,文件是不能在不同程序间共享的. 当用户卸载您的应用程序时,这些文件删除. 文件存储数据可以通过openFileOutput方法打开一个文件(如果这个)文件不存在就自动创建这个文件),通过load方法来获取文件中的 数据,通过deleteFile方法删除一个指定的文件. 1,常用方法介绍: File是通过FileInputStream和FileOutput

Android数据存储之File

Android使用与其他平台类似的基于磁盘文件系统(disk-based file systems),上篇文章通过SharedPerference来进行数据存储,这次可以使用File.File 对象非常适合用来读写那种流式顺序的数据,可以用来读写图片文件或者是网络中交换的数据. 存储位置 所有的Android设备都有两个文件存储区域:"internal" 与 "external" 存储. 那两个名称来自与早先的Android系统中,那个时候大多数的设备都内置了不可变