Android对sdcard扩展卡文件操作实例详解
作者:shichen2014 发布时间:2023-12-20 11:34:55
标签:Android,文件操作
Android对sdcard扩展卡文件的操作其实就是普通的文件操作,但是仍然有些地方需要注意。比如:
1.加入sdcard操作权限;
2.确认sdcard的存在;
3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件;
实例如下:
(1)在AndroidManifest.xml添加sdcard操作权限
<!-- sdcard权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
(2)变量声明:
private final static String PATH = "/sdcard/digu";
private final static String FILENAME = "/notes.txt";
(3)向sdcard写文件:
/**
* 写文件
*/
private void onWrite() {
try {
Log.d(LOG_TAG, "Start Write");
//1.判断是否存在sdcard
if (Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())) {
//目录
File path = new File(PATH);
//文件
File f = new File(PATH + FILENAME);
if(!path.exists()){
//2.创建目录,可以在应用启动的时候创建
path.mkdirs();
}
if (!f.exists()) {
//3.创建文件
f.createNewFile();
}
OutputStreamWriter osw = new OutputStreamWriter(
new FileOutputStream(f));
//4.写文件,从EditView获得文本值
osw.write(editor.getText().toString());
osw.close();
}
} catch (Exception e) {
Log.d(LOG_TAG, "file create error");
}
}


猜你喜欢
- MAC设置JDK环境变量1、sudo vim ~/.bash_profile2、设置内容 (写自己的JDK路径,有两种方式查看)JAVA_H
- 点击图标进入指定浏览器。只需在onCreate()方法里添加如下代码:String url = "http://tiger-kfp
- 排查@CacheEvict注解失效我简单看了一下《Spring实战》中的demo,然后就应用到业务代码中了,本以为如此简单的事情,竟然在代码
- 本文实例讲述了Android编程开发之NotiFication用法。分享给大家供大家参考,具体如下:notification就是通知的意思,
- 1. 确保你项目能编译通过,安装java jdk 环境填写环境变量2. 添加SpringBootServletInitializer的子类重
- 本文实例讲述了C#动态执行批处理命令的方法。分享给大家供大家参考。具体方法如下:C# 动态执行一系列控制台命令,并允许实时显示出来执行结果时
- 本文实例为大家分享了WPF ProgressBar实现实时进度的具体代码,供大家参考,具体内容如下简单测试,页面如图:利用上班的一点点空闲时
- 一. 依赖管理Ⅰ. 部分dependency导入时为啥不需要指定版本?我们创建项目时添加的依赖并没有帮我们指定版本号<>,那Sp
- 本文实例讲述了Android开发使用Drawable绘制圆角与圆形图案功能。分享给大家供大家参考,具体如下:1. 创建类RoundCircl
- Flutter自适应瀑布流前言:在电商app经常会看到首页商品推荐的瀑布流,或者类似短视频app首页也是瀑布流,这些都是需要自适应的,才能给
- 结束firefox的进程,一句代码就够了,如下:Runtime.getRuntime().exec("taskkill /F /I
- 前言在spring cloud的项目中用到了feign组件,简单配置过后即可完成请求的调用。又因为有向请求添加Header头的需求,查阅了官
- 本文实例源自一个项目,其中需要调用本机的摄像头进行拍照,分享给大家供大家参考之用。具体步骤如下:硬件环境:联想C360一体机,自带摄像头编写
- java常量池技术java中常量池技术说的通俗点就是java级别的缓存技术,方便快捷的创建一个对象。当需要一个对象时,从池中去获取(如果池中
- 1、SQLite介绍SQLite,是一款轻型的数据库,是遵守的ACID关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标嵌入式是
- WPF实现 Gitee泡泡菜单框架使用大于等于.NET40;Visual Studio 2022;项目使用 MIT 开源
- 本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下。有如下的一颗完全二叉树:先序遍历结果应该为:1 2&
- 一、简介 线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolE
- 本文主要为大家分析了图书商城的用户模块,具体内容如下1、用户模块的相关类创建domain:Userdao:UserDaoservice:Us
- 本文实例为大家分享了Java实现双向链表的具体代码,供大家参考,具体内容如下双向链表与单链表的对比:1、单向链表查找只能是一个方向,双向链表