往Android SDCard中读写入数据

原创 2015年11月20日 16:58:19

一、用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 }
复制代码
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 }
复制代码

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android之内置和外置sdcard路径显示并且写入数据

1、效果图片 2、部分代码 package com.example.sdcardcheck; import java.io.File; import java...

Android 写入数据到本地ExcelDemo

  • 2015年05月15日 21:41
  • 2.84MB
  • 下载

Android之从特定目录读取和写入数据

Android之访问内外部存储空间 知识点: 1、权限管理; 2、获取内外部目录的方法; 3、此示例演示如何从特定目录读取和写入数据,同时需要较少的权限 在开发中,我们经常会用到存储空间,这是一...

Android读写文件 获取文件并读取写入数据

一、       从 resource 中的 raw 文件夹中获取文件并读取数据(资源文件只能读不能写)   String res = "";    try{    ...

Android创建文件夹及文件并写入数据

package elwin.fei.mobileaudio; import java.io.BufferedWriter; import java.io.File; import java....

android 写行为日志到SD卡 并发处理 异步写入数据到文件不影响界面响应时间

android 写行为日志到SD卡
  • NN955
  • NN955
  • 2014年05月31日 20:14
  • 4700

Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据

由于最近学校组织了一个移动APP(安卓)设计大赛,自己也学习安卓有一段时间了,就跟同学商量一起去参加试试,一拍即合,然后我们就开始想idea,因为最近可穿戴设备比较火,我们也就想试试。经过商量,我负责...

Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据

From:http://blog.csdn.net/chenfengdejuanlian/article /details/45787123 由于最近学校组织了一个移动APP(...

Android 蓝牙4.0BLE开发实现对蓝牙的写入数据和读取数据

Android 蓝牙4.0BLE开发实现对蓝牙的写入数据和读取数据 代码基本上都是官方的demo,只是通过修改获得自己想要的结果,下面就简单介绍一下自己的理解。 一、扫描BLE设...

Android 蓝牙4.0BLE开发实现对蓝牙的写入数据和读取数据

代码基本上都是官方的demo,只是通过修改获得自己想要的结果,下面就简单介绍一下自己的理解。 一、扫描BLE设备activity 检查该设备是否支持BLE设备,谷歌在Android4.3才开始支持...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:往Android SDCard中读写入数据
举报原因:
原因补充:

(最多只允许输入30个字)