Android-SD卡相关操作
SD卡相关操作
1、获取 App 文件目录
//获取 当前APP 文件路径
String path1 = this.getFilesDir().getPath();
当前APP目录也就是应用的这个目录 /data/data/com.tiger.helloworld/files

2、获取外部存储器 路径
一般手机文件管理 根路径 /storage/emulated/0/
//获取外部存储器 路径
String path2= Environment.getExternalStorageDirectory().getPath();
3、判断SD卡是否可用
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
4、获取SD总大小,可用空间
// 获取SD卡的总大小,可用空间
File file= Environment.getExternalStorageDirectory();
long totalSpace= file.getTotalSpace(); //总大小
long usableSpace= file.getUsableSpace(); //可用空间
//转换数据格式
String formatTotalSpace= Formatter.formatFileSize(MainActivity.this,totalSpace);
String formatUsableSpace=Formatter.formatFileSize(MainActivity.this,usableSpace);
Toast.makeText(MainActivity.this, "Total Space:"+formatTotalSpace
+" UsableSpace:"+formatUsableSpace, Toast.LENGTH_LONG).show();
5.文本文件读写
Type1:
1、写入数据
try {
String result = userName + "_" + userPwd;
//【1】创建一个File 类 指定我们要把数据存储的位置
File file = new File("/data/data/com.tiger.helloworld/info.txt");
//【2】 创建一个文件输出流
FileOutputStream fos = new FileOutputStream(file);
//【3】写入数据
fos.write(result.getBytes());
fos.close();
return true;
} catch (Exception e) {
Log.e("Utils", e.getMessage());
e.printStackTrace();
return false;
}
2、读取数据
try {
File file = new File("/data/data/com.tiger.helloworld/info.txt");
FileInputStream fis = new FileInputStream(file);
BufferedReader bufr = new BufferedReader(new InputStreamReader(fis));
String userInfo = bufr.readLine();
fis.close();
return userInfo;
} catch (Exception e) {
Log.e("Utils", e.getMessage());
e.printStackTrace();
return null;
}
Type2:
1、通过 Content 写入数据
try {
String result = userName + "_" + userPwd;
FileOutputStream fos = context.openFileOutput("info.txt", context.MODE_PRIVATE);
fos.write(result.getBytes());
fos.close();
return true;
} catch (Exception e) {
Log.e("Utils", e.getMessage());
e.printStackTrace();
return false;
}
2、通过 Content 读取数据
try {
FileInputStream fis = context.openFileInput("info.txt");
BufferedReader bufr = new BufferedReader(new InputStreamReader(fis));
String userInfo = bufr.readLine();
/*while (bufr.readLine()!=null){
str+=bufr.readLine();
}*/
fis.close();
return userInfo;
} catch (Exception e) {
Log.e("Utils", e.getMessage());
e.printStackTrace();
return null;
}
6.保存InputStream图片到本地相册中
/**
* 保存图片,并显示到 Gallery 中
*/
public void saveImage(InputStream inputStream){
try {
File externalFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File directoryFile = new File(externalFile.getPath() + "/MY");
//若目录不存在则创建
if (!directoryFile.exists()) {
directoryFile.mkdirs();
}
File imageFile = new File(directoryFile, "qr"+directoryFile.list().length+".jpg");
FileOutputStream fos=new FileOutputStream(imageFile);
byte[] buffer=new byte[1024];
int len=-1;
while ((len=inputStream.read(buffer))!=-1){
fos.write(buffer,0,len);
}
inputStream.close();
fos.close();
//发送广播扫面文件,使图片显示在Gallery中
Intent intent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(imageFile));
mContext.sendBroadcast(intent);
Log.e("","Save successful!");
} catch (Exception e) {
e.printStackTrace();
Log.e("","Save unsuccessful!");
}
}
Android-SD卡相关操作的更多相关文章
- Android入门开发之SD卡读写操作(转)
SD卡的读写是我们在开发android 应用程序过程中最常见的操作.下面介绍SD卡的读写操作方式: 1. 获取SD卡的根目录 String sdCardRoot = Environment.getE ...
- Android SD卡存储
原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/Android_SDcard_store.html 一 概念 SD卡存储空间比较大,当需要存取较大的 ...
- Android SD卡创建文件和文件夹失败
原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...
- Android——SD卡工具类——SDCardUtils.java
package com.xdsjs.save.utils; /** * SD卡相关的辅助类 * Created by xdsjs on 2015/10/13. */ import java.io.Fi ...
- [笔记]SD卡相关资料
ESD静电放电模块 我知道的flash分为两种NOR flash和NAND flash,NOR falsh容量一般为1~16M用于单片机代码存储,NAND flash最小的是8M最大的现在听说有90G ...
- imx6 android SD卡启动
工作中需要将imx6的android系统从SD卡启动,所以就分析了MfgTool中的脚本,分析android的分区情况,并尝试自己操作,竟然成功了,记录于此. 参考文档 http://www.kanc ...
- Android SD卡读写
package com.jredu.zuiyou.activity; import android.os.Bundle;import android.os.Environment;import and ...
- FPGA之SPI SD卡读操作
这几天在FPGA调试与SD通信,读SD卡里的图片,之前接触32时没有去研究过SD卡,不太熟悉操作流程,在网上找了很多资料,也看了几个32开发板的资料,但大多数都讲得不是特别清楚,只能瞎操作了一番,在别 ...
- Android SD卡上文件
1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡 ...
随机推荐
- JSP总结(三)——JSP中九大内置对象(汇总)
注:后缀为汇总的基本上是整理一些网上的. 一.九大内置对象分类: 1. request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request ...
- jmeter+maven+jenkins自动化接口测试(上)
代码已上传git(包括调试的jmx,jmeter相关文件等):https://gitlab.com/yinzhenzhi/jmeterandmaven 目的:现在很多人都在做自动化接口的平台,我也正在 ...
- C#图片操作公共库
存一下,以后找起来方便 包括图片加载.压缩.base64等 public static class ImageFun { #region 图片 public static EncoderParamet ...
- 机器学习 - 正则化L1 L2
L1 L2 Regularization 表示方式: $L_2\text{ regularization term} = ||\boldsymbol w||_2^2 = {w_1^2 + w_2^2 ...
- 【C#】判断字符串中是否包含指定字符串,contains与indexof方法效率问题
#方法一:使用string.Contains方法 string.Contains是大小写敏感的,如果要用该方法来判断一个string是否包含某个关键字keyword,需要把这个string和这个key ...
- 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
一. 前言 本节继续探讨一种新的框架搭建模式,框架的结构划分和上一节是相同的,本节IOC框架换成了Unity,并且采用构造函数注入的方式,另外服务层的封装模式也发生了变化,下面将详细的进行探讨. (一 ...
- 阿里巴巴图标库iconfont上传svg后,显示不了图片
AI里面选中图形,点对象-路径-轮廓化描边
- mvc 返回一个对象 到视图接收
public ActionResult InfoFrame() { List<Users> list = new List<Users>(); Users user = new ...
- 【ShaderToy】新玩家~❤
最近对shader产生了浓厚兴趣,发现一个超有意思的网站shadertoy.com,各种有意思的shader,很多都是百行以内代码实现,除了学习,作为opgl的练习场所也很不错. 分享今天看的一篇sh ...
- mvc 在弹出框中实现文件下载
var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent; ...