zoukankan      html  css  js  c++  java
  • 往Android SDCard中读写入数据

    一、用Environment

    (写)

    1、API获取sdcard的路径

      File path=Environment.getExternalStorageDirectory();

      path=new File(path,"test.txt");

    2、用流写入内容

    3、获取WRITE_EXTERNAL_STORAGE权限

    写入后的文件夹是:/mnt/sdcard/文件名及后缀

     1 package com.zzw.writeFile;
     2 
     3 import java.io.File;
     4 import java.io.FileOutputStream;
     5 
     6 import android.app.Activity;
     7 import android.os.Bundle;
     8 import android.os.Environment;
     9 import android.util.Log;
    10 
    11 public class MainActivity extends Activity {
    12 
    13     private static final String TAG = "MainActivity";
    14 
    15     @Override
    16     protected void onCreate(Bundle savedInstanceState) {
    17         super.onCreate(savedInstanceState);
    18         setContentView(R.layout.activity_main);
    19 
    20         try {
    21             writeFileToSDCard("Test", "Test.txt", "hello");
    22         } catch (Exception e) {
    23             // TODO Auto-generated catch block
    24             e.printStackTrace();
    25         }
    26     }
    27 
    28     private boolean writeFileToSDCard(String file_pathName, String fileName, String writeData) throws Exception {
    29         // SDCard是否被挂载
    30         if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
    31             // 获取根目录
    32             File parent_path = Environment.getExternalStorageDirectory();
    33             Log.d(TAG, "parent_path=" + parent_path.getAbsolutePath() + "");
    34 
    35             // 建立一个子目录专门存放自己的专属文件
    36             File file_path = new File(parent_path.getAbsoluteFile(), file_pathName);
    37             if (!file_path.exists()) {
    38                 file_path.mkdir();
    39             }
    40             Log.d(TAG, "file_path=" + file_path.getAbsolutePath() + "");
    41 
    42             // 自己的要存放的文件目录
    43             File file = new File(file_path.getAbsoluteFile(), fileName);
    44             if (!file.exists()) {
    45                 file.createNewFile();
    46                 Log.d(TAG, "创建文件" + fileName + "成功");
    47             }
    48             Log.d(TAG, "文件" + fileName + "存在,原文件将被置换");
    49             Log.d(TAG, "file=" + file.getAbsolutePath() + "");
    50 
    51             // 写文件
    52             FileOutputStream fos = new FileOutputStream(file);
    53 
    54             byte[] buffer = writeData.getBytes();
    55 
    56             fos.write(buffer, 0, buffer.length);
    57             fos.flush();
    58             if (fos != null) {
    59                 fos.close();
    60             }
    61 
    62             Log.d(TAG, "文件写入成功");
    63             return true;
    64 
    65         }
    66         return false;
    67     }
    68 }
    Environment
    1  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    权限操作

    (读)

    同样的通过IO操作,注意权限

    二、获取shared_prefs目录,读写xml。使用SharedPreferences

    写入目录:data/data/包名/shared_prefs/文件名.xml

    1、获取SharedPreferences

      SharedPreferences shared

      =context.getSharedPreferences("xml名字",context.MODE_WORLD_READABLE+context.MODE_WORLD_WRITEABLE);//后者为权限

    2、得到Editor(编辑器)

      Editor edit=shared.edit();

    3、放入数据

              (K,V)

      edit.putString("hello","world");

      //获取我们保存的信息:shared.getString(key, defValue);

    4、提交编辑内容

      edit.commit();

    5、获得权限

     1 package com.zzw.testsharedpreferences;
     2 
     3 import android.app.Activity;
     4 import android.content.SharedPreferences;
     5 import android.content.SharedPreferences.Editor;
     6 import android.os.Bundle;
     7 import android.util.Log;
     8 
     9 public class MainActivity extends Activity {
    10 
    11     private static final String TAG = "MainActivity";
    12 
    13     private final String SharedPreferences_Name = "SharedPreferences_Name";
    14     private final String USER_NAME = "user_name";
    15     private final String USER_PASSWORD = "user_password";
    16 
    17     @Override
    18     protected void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         setContentView(R.layout.activity_main);
    21         writeSharedPreferences();
    22         readSharedPreferences();
    23     }
    24 
    25     private void writeSharedPreferences() {
    26         SharedPreferences shared = this.getSharedPreferences(SharedPreferences_Name, MODE_PRIVATE);
    27 
    28         Editor edit = shared.edit();
    29         edit.putString(USER_NAME, "张三");
    30         edit.putString(USER_PASSWORD, "123456");
    31         edit.commit();
    32     }
    33 
    34     private void readSharedPreferences() {
    35         SharedPreferences shared = this.getSharedPreferences(SharedPreferences_Name, MODE_PRIVATE);
    36 
    37         String name = shared.getString(USER_NAME, "no_name");
    38         String pass_word = shared.getString(USER_PASSWORD, "");
    39         Log.d(TAG, "USER_NAME" + name + ",USER_PASSWORD:" + pass_word);
    40     }
    41 }
    SharedPreferences

     

  • 相关阅读:
    js去除空格
    Quartz定时任务学习(九)Quartz监听器
    Quartz定时任务学习(七)Cron 触发器
    数据挖掘之聚类算法K-Means总结
    SQL SERVER分区具体例子详解
    基于basys2驱动LCDQC12864B的verilog设计图片显示
    图像处理的多线程计算
    三维空间中的几种坐标系
    2017年要学习的三个CSS新特性
    Mesos 资源分配
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4884924.html
Copyright © 2011-2022 走看看