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,那个是往手机内存中读写数据的