SharedPreferences数据存储及内外部存储空间的读写方式

一、简单案例

package com.administrator.cachedemo;

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

public class MainActivity extends AppCompatActivity {

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

    /**
     * SharedPreferences存储数据
     */
    private void testSharedPreferences(){
        /**
         * 第一个参数:存放在私有空间里的文件名称
         * Context.MODE_PRIVATE支持读和写
         */
        SharedPreferences sharedPreferences = getSharedPreferences("sharedpreferences",
                Context.MODE_PRIVATE);
        /**
         * 存储
         */
        sharedPreferences.edit().putInt("test", 1).commit();
//        sharedPreferences.edit().putInt("test", 1).putInt("test2", 2).commit();//        editor.apply();
//        sharedPreferences.getString("name",null);//第二个参数是获取的时候,没有时,传null
        /**
         * 读取
         */
        int value = sharedPreferences.getInt("test", 0);
        Log.e("lxn", "value:" + value);

    }
}

二、读取内外部存储空间

MainAvtivity.java

package com.administrator.cachedemo;

import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    /**
     * 读写内部存储空间
     */
    private void testInternalStorage() {
        File cacheDir = getCacheDir();
        File parentDir = new File(cacheDir, "mycache");
        if (!parentDir.exists()) {//判断文件夹是否存在
            parentDir.mkdirs();//mkdir()创建单个目录,mkdirs()创建多个逐级目录
        }
        File file = new File(parentDir,"text.txt");
        try {
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line = null;
            while ((line = bufferedReader.readLine()) != null) {
                Log.e("lxn", "line:" + line);
            }
            bufferedReader.close();
            fileReader.close();
        } catch (Exception e) {
            Log.e("lxn", "testInternalStorage", e);
        }
    }
    /**
     * 读写外部存储空间
     */
    private void testRxternalStorage(){
        if(TextUtils.equals(Environment.getExternalStorageState(),Environment.MEDIA_MOUNTED)){//判断SD卡是否挂载上
            return;
        }
        File cacheDir = Environment.getExternalStorageDirectory();//获取外部存储目录
        File parentDir = new File(cacheDir, "mycache");
        if (!parentDir.exists()) {
            parentDir.mkdirs();
        }

        File file = new File(parentDir, "test.txt");
        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("this is test2");
            fileWriter.flush();
            fileWriter.close();
        } catch (Exception e) {
            Log.e("lxn", "testInternalStorage", e);
        }

        try {
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String line = null;
            while ((line = bufferedReader.readLine()) != null) {
                Log.e("lxn", "line:" + line);
            }
            bufferedReader.close();
            fileReader.close();
        } catch (Exception e) {
            Log.e("lxn", "testInternalStorage", e);
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值