Android中使用File文件进行数据存储

上一篇学到使用SharedPerences进行数据存储,接下来学习一下使用File进行存储 我们有时候可以将数据直接以文件的形式保存在设备中,

例如:文本文件,图片文件等等

使用File进行存储操作主要使用到以下的

①:public abstract FileInputStream openFileInput (String name)

这个主要是打开文件,返回FileInputStream

②:public abstract FileOutputStream openFileOutput (String name, int mode)

这个主要是写入文件,如果该文件不存在,直接进行创建,返回FileOutputStream

Mode(主要有以下的四种的模式)

MODE_APPEND  //在尾部追加
MODE_PRIVATE //私有
MODE_WORLD_READABLE //可读
MODE_WORLD_WRITEABLE //可写

③:FileInputStream(获取文件输入流)与FileOutputStream (获取文件输出流)这两类在JavaIO 操作中很常见

接下来进行操作 保存成功之后讲文件保存在当前应该程序的包名下的files/(可以改变存储的其他路径)

源代码如下:

  1. package com.jiangqq.file;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11. public class FileAcitivy extends Activity
  12. {
  13. private Button bt1, bt2;
  14. private EditText et1, et2;
  15. private static final String FILENAME = "temp_file.txt";
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.main);
  20. bt1 = (Button) this.findViewById(R.id.bt1);
  21. bt2 = (Button) this.findViewById(R.id.bt2);
  22. et1 = (EditText) this.findViewById(R.id.et1);
  23. et2 = (EditText) this.findViewById(R.id.et2);
  24. bt1.setOnClickListener(new OnClickListener() {
  25. @Override
  26. public void onClick(View v) {
  27. write(et1.getText().toString());
  28. Toast.makeText(FileAcitivy.this, "文件写入成功", Toast.LENGTH_LONG)
  29. .show();
  30. }
  31. });
  32. bt2.setOnClickListener(new OnClickListener() {
  33. @Override
  34. public void onClick(View v) {
  35. et2.setText(read());
  36. Toast.makeText(FileAcitivy.this, "文件读出成功", Toast.LENGTH_LONG)
  37. .show();
  38. }
  39. });
  40. }
  41. // 读文件方法
  42. private String read() {
  43. try {
  44. FileInputStream inputStream = openFileInput(FILENAME);
  45. byte[] b = new byte[inputStream.available()];
  46. inputStream.read(b);
  47. return new String(b);
  48. } catch (Exception e) {
  49. }
  50. return null;
  51. }
  52. // 写文件
  53. private void write(String content) {
  54. try {
  55. FileOutputStream fos = openFileOutput(FILENAME, MODE_APPEND);
  56. fos.write(content.getBytes());
  57. fos.close();
  58. } catch (Exception e) {
  59. }
  60. }
  61. }

源代码下载链接:

http://115.com/file/c2mu1pfd#
Activity_18_File.rar

原文 :http://blog.csdn.net/developer_jiangqq/article/details/7039852

Android中使用File文件进行数据存储的更多相关文章

  1. Android中常用的五种数据存储方式

    第一种: 使用SharedPreferences存储数据 适用范围: 保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小 ...

  2. Android开发7:简单的数据存储(使用SharedPreferences)和文件操作

    前言 啦啦啦~大家好,又见面啦~ 本篇博文讲和大家一起完成一个需要注册.登录的备忘录的,一起学习 SharedPreferences 的基本使用,学习 Android 中常见的文件操作方法,复习 An ...

  3. 修改Android中strings.xml文件, 动态改变数据

    有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...

  4. Android开发之利用SQLite进行数据存储

    Android开发之利用SQLite进行数据存储 Android开发之利用SQLite进行数据存储 SQLite数据库简单介绍 Android中怎样使用SQLite 1 创建SQLiteOpenHel ...

  5. 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

  6. android 中获取视频文件的缩略图(非原创)

    在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...

  7. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  8. Android中使用Gson解析JSON数据

      Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...

  9. Android中得到布局文件对象有三种方式

    Android中得到布局文件对象有三种方式 第一种,通过Activity对象 View view = Activity对象.getLayoutInflater().inflater(R.layout. ...

随机推荐

  1. event对象和事件冒泡

    <!DOCTYPE HTML><html><head> <meta charset="utf-8"> <title>无标 ...

  2. Spring学习--引用其他Bean , 内部Bean

    引用其他Bean: 组成应用程序的 Bean 经常需要相互协作以完成应用程序的功能 , 要使 Bean 能够相互访问, 就必须在 Bean 配置文件中指定对 Bean 的引用. 在 Bean 的配置文 ...

  3. css3 新旧伸缩盒的异同

    由于不需要理会IE浏览器,伸缩盒(flexible box)移动端开发中非常好用! 工作中使用APICLOUD开发手机App,老板要求兼容到安卓2.3(新版的需要安卓4.4以上),所以一直使用的是旧版 ...

  4. 一个IT中专生在深圳的9年辛酸经历

    一个IT中专生在深圳的9年辛酸经历 想一想来到深圳已经近10年了,感概万千呐!从一个身无分文的中专职校计算机毕业出来后,竟然大胆的南下(之前可是连我们那地区之外都没去过),现在有供完的房子,温柔的妻子 ...

  5. 使用vs2010编辑Unity脚本,配置方法

    在Unity界面上.选择Edit->Preferences->External Tools,External Script Editor一项即为编译器. 以Unity3D 4.3.4 f1 ...

  6. 【bzoj2219-数论之神】求解x^a==b(%n)-crt推论-原根-指标-BSGS

    http://www.lydsy.com/JudgeOnline/problem.php?id=2219 弄了一个晚上加一个午休再加下午一个钟..终于ac..TAT 数论渣渣求轻虐!! 题意:求解 x ...

  7. [BZOJ3275]Number解题报告|网络流

    Description 有N个正整数,需要从中选出一些数,使这些数的和最大.若两个数a,b同时满足以下条件,则a,b不能同时被选1:存在正整数C,使a*a+b*b=c*c2:gcd(a,b)=1 这道 ...

  8. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

  9. 7.Redis键值对数据库

    1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...

  10. 《Java编程思想》笔记 第十四章 类型信息

    1.RTTI:在运行时识别一个对象类型 JAVA在运行时 有时要 识别对象和类的信息这个机制叫RTTI.Java提供了两种机制去做这件事.传统的RTTI 和 反射. 传统的RTTI  假定编译时就已经 ...