Android 数据存储、访问权限以及获取系统路径

1.设置文件的读写权限

Int MODE的文件操作模式

Paste_Image.png

2.文件的相关操作方法

Paste_Image.png

2.1几个比较常用的获取系统路径

  • 无需向用户申请
  • 需要向用户申请

这里讲解一下Environment.getExternalStoragePublicDirectory(String type)的用法

  • 如果您需要往sdcard中保存特定类型的内容,可以考虑使用Environment.getExternalStoragePublicDirectory(String type)函数,该函数可以返回特定类型的目录,目前支持如下类型:
    • DIRECTORY_ALARMS //警报的铃声
    • DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
    • DIRECTORY_DOWNLOADS //下载文件保存的位置
    • DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
    • DIRECTORY_MUSIC //音乐保存的位置
    • DIRECTORY_NOTIFICATIONS //通知音保存的位置
    • DIRECTORY_PICTURES //下载的图片保存的位置
    • DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
    • DIRECTORY_RINGTONES //保存铃声的位置

对应的路径

image.png

2.2写入文件和读取文件

写入文件

FileOutputStream fos=content.openFileOutput(String filename,Int mode);
fos.wirte(String content.getBytes());
fos.close;

读取文件

FileInputStream fis=content.openFileInput(String filename);
BufferedReader br=new BufferedReader(InputStreamReader(fis));
string content=br.readline();

3.读取SD卡上的文件

Paste_Image.png

这里读写数据用如下

FileOutputStream output = new FileOutputStream(filename);
            output.write(filecontent.getBytes());
            //将String字符串以字节流的形式写入到输出流中
            output.close();

 StringBuilder sb = new StringBuilder("");
FileInoutStream fis=new FileInputStream(filename);
int len=0;
byte[]bytes=new byte[1024];
while((len=fis.read(bytes)=)!=-1){
sb.append(new String(temp, 0, len))
}

这里不能再用openFileInput,那个是往手机内存中读写数据的

你可能感兴趣的:(Android 数据存储、访问权限以及获取系统路径)