Android中使用File文件进行数据存储
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/(可以改变存储的其他路径)

源代码如下:
- package com.jiangqq.file;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class FileAcitivy extends Activity
- {
- private Button bt1, bt2;
- private EditText et1, et2;
- private static final String FILENAME = "temp_file.txt";
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- bt1 = (Button) this.findViewById(R.id.bt1);
- bt2 = (Button) this.findViewById(R.id.bt2);
- et1 = (EditText) this.findViewById(R.id.et1);
- et2 = (EditText) this.findViewById(R.id.et2);
- bt1.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- write(et1.getText().toString());
- Toast.makeText(FileAcitivy.this, "文件写入成功", Toast.LENGTH_LONG)
- .show();
- }
- });
- bt2.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- et2.setText(read());
- Toast.makeText(FileAcitivy.this, "文件读出成功", Toast.LENGTH_LONG)
- .show();
- }
- });
- }
- // 读文件方法
- private String read() {
- try {
- FileInputStream inputStream = openFileInput(FILENAME);
- byte[] b = new byte[inputStream.available()];
- inputStream.read(b);
- return new String(b);
- } catch (Exception e) {
- }
- return null;
- }
- // 写文件
- private void write(String content) {
- try {
- FileOutputStream fos = openFileOutput(FILENAME, MODE_APPEND);
- fos.write(content.getBytes());
- fos.close();
- } catch (Exception e) {
- }
- }
- }

源代码下载链接:
http://115.com/file/c2mu1pfd#
Activity_18_File.rar
原文 :http://blog.csdn.net/developer_jiangqq/article/details/7039852
Android中使用File文件进行数据存储的更多相关文章
- Android中常用的五种数据存储方式
第一种: 使用SharedPreferences存储数据 适用范围: 保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小 ...
- Android开发7:简单的数据存储(使用SharedPreferences)和文件操作
前言 啦啦啦~大家好,又见面啦~ 本篇博文讲和大家一起完成一个需要注册.登录的备忘录的,一起学习 SharedPreferences 的基本使用,学习 Android 中常见的文件操作方法,复习 An ...
- 修改Android中strings.xml文件, 动态改变数据
有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...
- Android开发之利用SQLite进行数据存储
Android开发之利用SQLite进行数据存储 Android开发之利用SQLite进行数据存储 SQLite数据库简单介绍 Android中怎样使用SQLite 1 创建SQLiteOpenHel ...
- 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储
前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...
- android 中获取视频文件的缩略图(非原创)
在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- Android中得到布局文件对象有三种方式
Android中得到布局文件对象有三种方式 第一种,通过Activity对象 View view = Activity对象.getLayoutInflater().inflater(R.layout. ...
随机推荐
- bzoj2811 [Apio2012]Guard
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2811 [题解] 首先我们先把没看到忍者的段去掉,可以用线段树做. 如果剩下的就是K,那么特判 ...
- Android 性能优化 - 详解内存优化的来龙去脉
前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇 ...
- Android 全面插件化 RePlugin 流程与源码解析
转自 Android 全面插件化 RePlugin 流程与源码解析 RePlugin,360开源的全面插件化框架,按照官网说的,其目的是“尽可能多的让模块变成插件”,并在很稳定的前提下,尽可能像开发普 ...
- bootstrap row 行间距
<div class="clearfix" style="margin-bottom: 10px;"></div>清除浮动加个margi ...
- linux基础 -nginx和nfs代理 开发脚本自动部署及监控
开发脚本自动部署及监控 1.编写脚本自动部署反向代理.web.nfs: (1).部署nginx反向代理三个web服务,调度算法使用加权轮询: (2).所有web服务使用共享存储nfs,保证所有web ...
- Perl的Expect模块学习
Perl的Expect模块学习 http://www.xuebuyuan.com/1852717.html
- mysql内连接、左连接、右连接举例说明
如下: CREATE TABLE tb ( id INT PRIMARY KEY, NAME VARCHAR (20) ) ; CREATE TABLE ta ( id INT PRIMARY KEY ...
- Java常见知识点(二)
21.常量池专门用于管理在编译时被确定并被保存在已编译的.class文件中的一些数据.它包括了关于类.方法.接口中的常量,还包括字符串常量. 22.String已经重写了Object的equals ...
- 区块链开发(四)Nodejs下载&安装
以太坊框架truffle的安装需要依赖nodejs中的npm命令,本篇博客我们就简单介绍一下node的安装过程.操作系统基于ubuntu 16.04版本. 下载地址 nodejs官网:http://w ...
- ubuntu 16.04安装redis(源码安装)zz
本文转载自: http://www.linuxdiyf.com/linux/22527.html Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Val ...