往Android SDCard中读写入数据
一、用Environment
(写)
1、API获取sdcard的路径
File path=Environment.getExternalStorageDirectory();
path=new File(path,"test.txt");
2、用流写入内容
3、获取WRITE_EXTERNAL_STORAGE权限
写入后的文件夹是:/mnt/sdcard/文件名及后缀
package com.zzw.writeFile; import java.io.File;
import java.io.FileOutputStream; import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log; public class MainActivity extends Activity { private static final String TAG = "MainActivity"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); try {
writeFileToSDCard("Test", "Test.txt", "hello");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} private boolean writeFileToSDCard(String file_pathName, String fileName, String writeData) throws Exception {
// SDCard是否被挂载
if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
// 获取根目录
File parent_path = Environment.getExternalStorageDirectory();
Log.d(TAG, "parent_path=" + parent_path.getAbsolutePath() + ""); // 建立一个子目录专门存放自己的专属文件
File file_path = new File(parent_path.getAbsoluteFile(), file_pathName);
if (!file_path.exists()) {
file_path.mkdir();
}
Log.d(TAG, "file_path=" + file_path.getAbsolutePath() + ""); // 自己的要存放的文件目录
File file = new File(file_path.getAbsoluteFile(), fileName);
if (!file.exists()) {
file.createNewFile();
Log.d(TAG, "创建文件" + fileName + "成功");
}
Log.d(TAG, "文件" + fileName + "存在,原文件将被置换");
Log.d(TAG, "file=" + file.getAbsolutePath() + ""); // 写文件
FileOutputStream fos = new FileOutputStream(file); byte[] buffer = writeData.getBytes(); fos.write(buffer, 0, buffer.length);
fos.flush();
if (fos != null) {
fos.close();
} Log.d(TAG, "文件写入成功");
return true; }
return false;
}
}
Environment
<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、获得权限
package com.zzw.testsharedpreferences; import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.util.Log; public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private final String SharedPreferences_Name = "SharedPreferences_Name";
private final String USER_NAME = "user_name";
private final String USER_PASSWORD = "user_password"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
writeSharedPreferences();
readSharedPreferences();
} private void writeSharedPreferences() {
SharedPreferences shared = this.getSharedPreferences(SharedPreferences_Name, MODE_PRIVATE); Editor edit = shared.edit();
edit.putString(USER_NAME, "张三");
edit.putString(USER_PASSWORD, "123456");
edit.commit();
} private void readSharedPreferences() {
SharedPreferences shared = this.getSharedPreferences(SharedPreferences_Name, MODE_PRIVATE); String name = shared.getString(USER_NAME, "no_name");
String pass_word = shared.getString(USER_PASSWORD, "");
Log.d(TAG, "USER_NAME" + name + ",USER_PASSWORD:" + pass_word);
}
}
SharedPreferences
往Android SDCard中读写入数据的更多相关文章
- android 向SD卡写入数据
原文:android 向SD卡写入数据 1.代码: /** * 向sdcard中写入文件 * @param filename 文件名 * @param content 文件内容 */ public v ...
- C# 操作地址 从内存中读取写入数据(初级)
本示例以植物大战僵尸为例, 实现功能为 每1秒让阳光刷新为 9999.本示例使用的游戏版本为 [植物大战僵尸2010年度版], 使用的辅助查看内存地址的工具是 CE. 由于每次启动游戏, 游戏中阳光 ...
- pandas向表格中循环写入数据
pandas向表格中循环写入多行数据 import pandas as pd def list_topic(total_num, str1): """ 生成多个主题 :p ...
- 使用bulkload向hbase中批量写入数据
1.数据样式 写入之前,需要整理以下数据的格式,之后将数据保存到hdfs中,本例使用的样式如下(用tab分开): row1 N row2 M row3 B row4 V row5 N row6 M r ...
- Android开发中多进程共享数据
# 背景 最近在工作中遇到一个需求,需要在接收到推送的时候将推送获得的数据存起来,以供app启动时使用.我们会认为这不是So easy吗?只要把数据存到SharedPreferences中,然后让ap ...
- android开发中获取<meta-data>数据
在 AndroidManifest.xml 中,<meta-data>元素是一个键值对,往往被包含在<application> .<activity>.<se ...
- android sqlite 中存储 long 数据
在資料庫的技術中,一個資料庫(Database)表示應用程式儲存與管理資料的單位,應用程式可能需要儲存很多不同的資料,例如一個購物網站的資 料庫,就需要儲存與管理會員.商品和訂單資料.每一種在資料庫中 ...
- Android ListView中带有时间数据的排序
下面是activity: public class MainActivity extends Activity { private ListView mListView = null; private ...
- C语言:用字符读取流和输出流来读写入数据。(文本文件)
/* 文件的几种操作模式: r:只读 w:只写 rw:可读可写 文件的分类: t:文本文件(字符文件) b:二进制文件(字节文件) 注意: 采用只读方式打开文件时,如果源文件不存在,打开文 ...
随机推荐
- POJ3352 Road Construction (双连通分量)
Road Construction Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- MongoDB增删改查
MongoDB以文档的形式存储数据,文档是类似于JSON键值对结构的BSON格式. 许多有共性的文档就组成一个集合. 集合.文档分别对应关系型数据库的表和行记录. 进入数据库: [mongodb@lo ...
- OC基础(4)
NSString 类介绍及用法 结构体成员变量 对象和方法之间的关系 对象作为方法的参数连续传递 *:first-child { margin-top: 0 !important; } body &g ...
- 读书list
1. TCP/IP 1.1 图解 TCP/IP 1.2 TCP/IP 详解 2. HTTP 2.1 HTTP 权威指南
- Filter Blue Light for Better Sleep(APP 推荐)
Filter Blue Light for Better Sleep By Carolyn Mohr11 May, 2016 Many people like to use their phones ...
- [译] Closures in Lua - Lua中的闭包
原文:(PDF) . 摘要 一等(first-class)函数是一种非常强大的语言结构,并且是函数式语言的基础特性.少数过程式语言由于其基于栈的实现,也支持一等函数.本文讨论了Lua 5.x用于实现一 ...
- Eclipse中Jsp页面警告的解决方法小结
恩,只要是开发人员,这样的小事情总会遇到的,对于这其中的某些警告性的错误是不影响代码的运行的,对应的功能也是能实现的,不过总给人一种不太好看的感觉!如果代码写的比较符合规范,这些问题也就自然而然的消失 ...
- CSS3之选择器
总结了下CSS3新增的一些选择器. CSS3的选择器有基本选择器.属性选择器.伪类选择器几类. CSS3选择器 选择器 举例 例子描述 element1~element2 p~a 选择前面有 < ...
- Freebsd下压缩解压文件详解
压缩篇: 把/usr/webgames目录下的文件打包.命名为bak.tar.gz 放到/usr/db-bak目录里 下面命令可以在任意目录执行.无视当前目录和将要存放文件的目录.tar -zcvf ...
- IP配置
1: #vi /etc/sysconfig/network-scripts/ifcfg-eth0 2: 实验环境-网络设置 公司域网: IP=162.168.16.0/24 netmask=255.2 ...