封装Android文件基本操作方法
2015-10-28 18:12
417 查看
Android最基本的数据存储方式,所有数据原封不动地保存至文件中,适合存储简单的文本数据或是二进制数据。
所有文件默认存储至/data/data/<包名>/files/目录下。
openFileOutput()第一个参数是文件名,文件创建的时候就使用该名称,不可包含路径(因为默认存储至上述路径下);第二个参数是文件操作模式,有 MODE_PRIVATE和 MODE_APPEND模式(另有MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE模式允许外部程序修改本程序的文件,不安全,已废弃)。
MODE_PRIVATE:默认模式,当表示指定同样文件名时,所写入的内容将覆盖原有内容。
MODE_APPEND:如果文件已存在就直接追加内容,否则创建新文件。
可以在DDMS的File Explorer视图中,进入/data/data/<包名>/files/目录中查看。
所有文件默认存储至/data/data/<包名>/files/目录下。
openFileOutput()第一个参数是文件名,文件创建的时候就使用该名称,不可包含路径(因为默认存储至上述路径下);第二个参数是文件操作模式,有 MODE_PRIVATE和 MODE_APPEND模式(另有MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE模式允许外部程序修改本程序的文件,不安全,已废弃)。
MODE_PRIVATE:默认模式,当表示指定同样文件名时,所写入的内容将覆盖原有内容。
MODE_APPEND:如果文件已存在就直接追加内容,否则创建新文件。
可以在DDMS的File Explorer视图中,进入/data/data/<包名>/files/目录中查看。
// 向文件写数据,以Srting数据类型为例 public static void writeDataIntoFile(String dataToBeSaved) { FileOutputStream fos = null; BufferedWriter writer = null; try { fos = openFileOutput("data", Context.MODE_APPEND); } catch (FileNotFoundException e) { e.printStackTrace(); } writer = new BufferedWriter(new OutputStreamWriter(fos)); try { writer.write(dataToBeSaved); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } }
// 从文件读数据,以字符串形式返回 public static String readDataFromFile() { FileInputStream fis = null; BufferedReader reader = null; try { fis = openFileInput("data"); } catch (FileNotFoundException e) { e.printStackTrace(); } reader = new BufferedReader(new InputStreamReader(fis)); StringBuilder stringBuilder = new StringBuilder(); String line = ""; try { while ((line = reader.readLine()) != null) { stringBuilder.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return stringBuilder.toString(); }
相关文章推荐
- Android 图片选择器,相机拍摄和图库选择,并进行裁剪
- IMEI,MEID,ESN,IMSI,android_id 之间的区别
- Android之SurfaceView实现视频播放
- Android之ExpandableListView的属性(Group不展开)
- android四大组件之一 BroadCast
- 【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
- Android开发经验谈-很少有人会告诉你的Android开发基本常识
- android从手机内存获得图片并全屏显示
- Notification使用
- CircleImageView源码解析
- H264中的SPS、PPS提取与作用
- android 中ImageButton按下改变背景图片的效果
- 使用Fiddler抓取Android数据包
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- Android L Settings实现
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- Android Back Home键监听_广播监听
- Android翻译】关于Activity的onSaveInstanceState调用时机的说明
- Android SDK开发包国内下载地址
- android This tag and its children can be replaced by one <TextView/> and a compound drawable 布局文件提示