SD卡操作
读写SD卡
Context类的openFileInput和openFileOutput方法都是针对应用程序的数据文件夹进行的文件操作,由于手机的ROM容量有限,因此这种操作有一定局限性。
手机的SD卡提供了比ROM更大的存储容量。更加适合于存取大文件。
Environment[android.os. Environment]
|
常量及方法 |
类型 |
描述 |
|
public static final String MEDIA_MOUNTED |
常量 |
扩展存储设允许进行读写访问 |
|
public static final String MEDIA_CHECKING |
常量 |
扩展存储设处于检查状态 |
|
public static final String MEDIA_MOUNTED_READ_ONLY |
常量 |
扩展存储设处于只读状态 |
|
public static final String MEDIA_REMOVED |
常量 |
扩展存储设不存在 |
|
public static final String MEDIA_UNMOUNTED |
常量 |
没有找到扩展存储设 |
|
public static File getDataDirectory() |
普通 |
取得Data目录 |
|
public static File getDownloadCacheDirectory() |
普通 |
取得下载的缓存目录 |
|
public static File getExternalStorageDirectory() |
普通 |
取得扩展的存储目录 |
|
public static String getExternalStorageState() |
普通 |
取得扩展存储设备的状态 |
|
public static File getRootDirectory() |
普通 |
取得Root目录 |
|
public static boolean isExternalStorageRemovable() |
普通 |
判断扩展的存储目录是否被删除 |
申请SD卡的读写权限
打开项目清单文件,在Permission选项卡中选择权限

SD卡文件读取操作

1 private TextView tv;
2 private Button bt1;
3 private Button bt2;
4 private EditText et;
5
6 protected void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 setContentView(R.layout.xml文件);
9 et = (EditText) findViewById(R.id.sdET);
10 tv = (TextView) findViewById(R.id.sdTV);
11 bt1 = (Button) findViewById(R.id.sdBT01);
12 bt2 = (Button) findViewById(R.id.sdBT02);
13 bt1.setOnClickListener(this);
14 bt2.setOnClickListener(this);
15 }
16
17 public void onClick(View v) {
18 if (!Environment.getExternalStorageState().equals(
19 Environment.MEDIA_MOUNTED)) {// 判断SD卡是否存在
20 Toast.makeText(Sd0.this, "SD卡不存在", 3000).show();
21 return;
22 }
23 switch (v.getId()) {
24 case R.id.sdBT01:
25 // 创建文件夹对象
26 File dir = new File(Environment.getExternalStorageDirectory(),"test");
27 if (!dir.exists()) { // 如果目录不存在,就创建
28 dir.mkdir();
29 }
30 File file = new File(dir, "test.txt"); // 创建文件
31 PrintWriter pw;
32 try {
33 pw = new PrintWriter(file);
34 pw.println(et.getText().toString());
35 pw.close();
36 Toast.makeText(Sd0.this, "保存成功", 3000).show();
37 } catch (FileNotFoundException e) {
38 e.printStackTrace();
39 }
40 break;
41 case R.id.sdBT02:
42 File f = new File(Environment.getExternalStorageDirectory()+
43 "/test/test.txt");// 创建文件夹对象
44 BufferedReader br;
45 try {
46 br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
47 String str = null;
48 while ((str = br.readLine()) != null) {
49 tv.append(str);
50 }
51 } catch (FileNotFoundException e) {
52 e.printStackTrace();
53 } catch (IOException e) {
54 e.printStackTrace();
55 }
56 break;
57 }
58 }

SD卡操作的更多相关文章
- WP8.1 Study12:文件压缩与Known Folder(包含SD卡操作)
一.文件压缩 当应用程序保存和加载数据,它可以使用压缩. 1.使用 Windows.Storage.Compression.Compressor 压缩,获得一个Compressor stream. v ...
- Android 常见SD卡操作
目录 Android 常见SD卡操作 Android 常见SD卡操作 参考 https://blog.csdn.net/mad1989/article/details/37568667. [0.] E ...
- SD卡操作相关的工具SDCardUtils
SD卡操作相关的工具 package com.flyou.utils; import java.io.File; import android.os.Environment; import andro ...
- STM32L476应用开发之五:数据保存与SD卡操作
便携式气体分析仪的特点就是离线运行.尽管是离线运行,但测试数据还是需要的,所以采取方式保存数据就是必须的.在本次项目中我们计划采用SD卡来保存数据. 1.硬件设计 该读卡器整合 SD 卡规范和 FAT ...
- File存对象--android 的File存储到SD卡();
方法1:android File存对象--File存储到SD卡(); 1.保存对象到本地或SD卡需要注意的是,要保存的对象(OAuthV1)一定要实现了Serializable接口.实现了Serial ...
- [笔记]SD卡相关资料
ESD静电放电模块 我知道的flash分为两种NOR flash和NAND flash,NOR falsh容量一般为1~16M用于单片机代码存储,NAND flash最小的是8M最大的现在听说有90G ...
- 第36章 SDIO—SD卡读写测试
第36章 SDIO—SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...
- 玩转X-CTR100 l STM32F4 l SD卡FatFs文件系统
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有SD卡接口,本教程使用免费 ...
- Android获取SD卡路径及SDCard内存的方法
这篇文章主要介绍了Android获取SD卡路径及SDCard内存的方法,较为详细的分析了Android针对SD卡操作所涉及的类及其具体函数功能,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了A ...
随机推荐
- python合并多个文件
import os filelist=os.listdir('/root/Music') for item in filelist: print item newfile=open('/root/Mu ...
- MCtalk对话尚德机构:AI讲师,假套路还是真功夫?
一间容纳百人的被挤得满满的教室,老师讲.学生听.线下课堂曾是职业教育最普遍的形式.随着移动互联网的普及,大量的学习行为逐渐转化到线上进行,传统教育机构如何抓住这轮技术转型的契机,而不是被它吞噬? 近日 ...
- auth-booster配置和使用(yii1.5)
auth-booster这个是一个yii框架扩展中的一个模块.是非常好用的(但是里面的说明都是英文的,所以国人用还需要改一点里面的汉化) 1.下载auth-booster这个:http://www.y ...
- Codeforces Round #567 (Div. 2)A
A. Chunga-Changa 题目链接:http://codeforces.com/contest/1181/problem/A 题目 Soon after the Chunga-Changa i ...
- C语言类型转换
int/float to string/array: C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明. itoa():将整型值转 ...
- 如何让使用create-react-app构建的项目在build过程中如何不生成.map文件
避免create-react-app的项目在build的过程中生成 .map 文件的方法:主要是更改 package.json 里面的 build 命令!正式进入修改步骤前,推荐安装 cross-en ...
- c++学习书籍推荐《C++程序设计语言(特别版)》下载
百度云及其他网盘下载地址:点我 编辑推荐 <C++程序设计语言(特别版•十周年中文纪念版)>编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话.1979年,Biarn ...
- wcf服务编程(一)
步骤一:定义契约 [ServiceContract] //定义服务契约 需要引用System.ServiceModel public interface ICalculator { [Operatio ...
- java截取避免空字符丢失
1. 场景描述 数据后端是Hbase等nosql数据库,返回的数据以逗号分隔,java后端获取数据后,需要新增组装数据后再返回给前端. 2. 问题解决 2.1 问题定位 本来用的java的split进 ...
- Mac上pycharm集成pyspark
前提: 1.已经安装好spark.我的是spark2.2.0. 2.已经有python环境,我这边使用的是python3.6. 一.安装py4j 使用pip,运行如下命令: pip install p ...