关闭

Android 文件的存储

标签: android数据存储存储
736人阅读 评论(0) 收藏 举报
分类:

文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据

文件存储主要通过输入流 来把数据保存到手机中,通过context类中提供了一个 openFileOutput ()方法,可以用于将数据存储到指定的文件中。
这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/

/files/ 目 录下 的 。第 二 个 参数 是 文件 的 操作 模 式 ,主 要 有两 种 模式 可 选 ,
MODE_PRIVATE 和 MODE_APPEND。其中 MODE_PRIVATE 是默认的操作模式,表示当指
定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而 MODE_APPEND 则表示
如果该文件已存在就往文件里面追加内容,不存在就创建新文件。


import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        saveFile();
    }


    private void saveFile() {
        String data = "I am data in FirstLine\n";
        FileOutputStream outputStream = null;
        BufferedWriter bWriter = null;
        try {
            outputStream = openFileOutput("data", Context.MODE_PRIVATE);
            bWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
            bWriter.write(data);
            bWriter.write("I am data in LastLine\n");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bWriter!=null) {
                    bWriter.close();
                }
                if (outputStream != null) {
                    outputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}

可以从上面的代码看出,我们在手机文件中存储了一个名为data的文件 ,并且在文件中写入了两行数据,我们用openOutFile这个方法,写入文件 openFileOutput ()方法返回的是一个 FileOutputStream 对象,得到了这个对象之后就可以使用 io 流的方式将数据写入到文件中了

0
0
查看评论

Android序列化的存储和读取

Android中序列化的实现有两种方式:Serializable接口和Parcelable接口,本文对这两种方式进行简单的总结和使用.
  • wenzhi20102321
  • wenzhi20102321
  • 2016-11-13 11:26
  • 3384

Android——文件的存储

package cn.itcast.files;   import cn.itcast.service.FileService; import android.app.Activity; import android.os.Bundle; impor...
  • qq524752841
  • qq524752841
  • 2015-01-05 13:32
  • 235

Android存储-偏好设置

1.定义:共享参数,保存一些较短的数据,比如用户登陆时的用户名,密码等。其实质是采用了xml文件存放数据,路径为:/data/data//shared_prefs。  2.使用方法: (1)得到共享参数对象两种方法:     a. getSharedPreference...
  • VitorLiu
  • VitorLiu
  • 2016-12-26 19:44
  • 692

Android中数据存储——文件存储数据

当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式Android 的数据存储有5种方式:1. SharedPreferences存储数据    SharedPreferences数据存储,也叫作xml存储。...
  • To_be_Designer
  • To_be_Designer
  • 2015-09-07 21:35
  • 1812

Android数据存储之——操作raw和assets目录下的文件

res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不...
  • liuyi1207164339
  • liuyi1207164339
  • 2016-06-05 17:57
  • 1037

Android 存储学习之在内部存储中读写文件

大家都知道,在实际工作中开发,进场需要将一个文件写入到手机的存储中。既然说到手机的存储空间,那就先说说手机的存储空间分类: 1: 内部存储空间         RAM内存: 也就是手机的运行的内存,相当于电脑的内存      ...
  • longwang155069
  • longwang155069
  • 2015-08-02 17:09
  • 2112

android的五种存储机制

Android提供了5种方式存储数据: --使用SharedPreferences存储数据; --文件存储数据;  --SQLite数据库存储数据; --使用ContentProvider存储数据; --网络存储数据; Preference,File,DataB...
  • heminghung
  • heminghung
  • 2016-05-29 14:26
  • 830

Android数据存储之Android 6.0运行时权限下文件存储

前言:      在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以往直接sdcard根目录上直接新建了一个xxx/cache...
  • zdmrzdmr
  • zdmrzdmr
  • 2016-12-07 12:36
  • 2409

Iwfu-Android在内部和外部存储器创建文件或子目录Demo

以下内容参考develoer.android.com安卓存储文件内部存储:在内部存储器,ddms查看在data/data目录下,每个app对应一个目录,一般apk安装后就在这个目录下,但如果apk过大也会安装到外部存储器. 外部存储:一般是以SD卡形式.在mnt/sdcard目录或storage/e...
  • RoseChan
  • RoseChan
  • 2016-06-04 15:48
  • 1218

android中写文件到内部存储中

package com.example.a_03; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; i...
  • u013608653
  • u013608653
  • 2015-08-04 11:42
  • 199
    个人资料
    • 访问:112185次
    • 积分:1387
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:3篇
    • 译文:0篇
    • 评论:32条
    博客专栏
    最新评论