1.文件保存:
/**
* 文件保存
* <功能详细描述>
* @param filename 文件名称
* @param content 文件内容
* @throws Exception
* @see [类、类#方法、类#成员]
*/
public void save(String filename,String content) throws Exception
{
FileOutputStream fileOutputStream=context.openFileOutput(filename, Context.MODE_PRIVATE);//创建文件,这个操作模式是私有的,其他应用不可操作此文件,名字相同就会覆盖
fileOutputStream.write(content.getBytes());
fileOutputStream.close();
}
文件保存模式:
Context.MODE_PRIVATE:这个操作模式是私有的,其他应用不可操作此文件,名字相同就会覆盖。默认为这个。
Context.MODE_APPEND:检查时否存在文件,存在就追加模式,不存在就创建,也为私有模式,其他应用不可用。
Context.MODE_WORLD_READABLE:该模式允许其他应用从该文件中读取内容。
Context.MODE_WORLD_WRITEABLE:该模式允许其他应用相该文件写入内容。
---
Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE:其他应用可读可写。
Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE+ Context.MODE_APPEND:其他应用可读可写,可写的时候是追加模式
....
2.文件读取:
/**
* 文件读取
* <功能详细描述>
* @param filename
* @return
* @throws Exception
* @see [类、类#方法、类#成员]
*/
public String readFile(String filename) throws Exception
{
FileInputStream fileInputStream =context.openFileInput(filename);//找到文件并流化文件
byte [] buffer =new byte[1024];//读取文件长度
int len=0;
ByteArrayOutputStream stream=new ByteArrayOutputStream();//输入内存中对象
while((len=fileInputStream.read(buffer))!=-1)//读取文件,如果读完了就为-1
{
stream.write(buffer, 0, len);//读取每一段写入内存中
}
byte [] data = stream.toByteArray();//得到文件的二进制数据
return new String(data);//转为String类型
}
快速获得应用跟目录:File file = this.getFilesDir();
快速获得应用的cache目录:this.getCarcheDir();//存放缓存的目录
3.SdCard文件读写访问
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
//判断SDcard是否存在于手机上并且可进行读写访问
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
/**
* 以私有文件保存文件到SdCard卡上
* <功能详细描述>
* @param filename
* @param content
* @throws Exception
* @see [类、类#方法、类#成员]
*/
public void writeSdCard(String filename , String content) throws Exception
{
File file =new File(Environment.getExternalStorageDirectory(),filename);
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(content.getBytes());
fileOutputStream.close();
}