android 如何在sd卡下创建指定的多层文件夹

我们在很多情况下都需要在sd卡目录下创建子目录存放图片文件之类的,之前也有人问我怎么在sd卡下创建子文件夹,今天就讲一个例子,就是当程序发生异常的时候,怎么把异常写在指定的文件中,当然在这里只讲如何创建文件夹,

代码

public class MainActivity extends Activity {

private static final String TAG = "MainActivity";

@Override

protected void onCreate(Bundle savedInstanceState) {

setContentView(R.layout.activity_main);

super.onCreate(savedInstanceState);

/**

* 这是在日记你根目录创建文件 并写数据到文件中

*/

String path = getLogRootPath();

StringBuffer sb = new StringBuffer();

sb.append(path).append(File.separator).append("log.txt");

File file  = new File(sb.toString());

try {

FileOutputStream fos = new FileOutputStream(file);

fos.write("hahahha".getBytes());

fos.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 判断是否有sd卡

* @return

*/

public boolean isSDCardAvaiable(){

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

return true;

}

return false;

}

/**

* 获取日记根目录

* @return

*/

public  String getLogRootPath() {

String sdcardPath = getSDPath();

StringBuffer sb = new StringBuffer();

sb.append(sdcardPath).append(File.separator).append("zgzh");

sb.append(File.separator).append("logs");

String root = sb.toString();

File sdFile = new File(sb.toString());

if(!sdFile.exists()||sdFile.getAbsoluteFile()==null){

sdFile.mkdirs();

}

return root;

}

/**

* 获取sd卡的路径

* @return

*/

private  String getSDPath() {

File file = null;

if(isSDCardAvaiable()){

file = Environment.getExternalStorageDirectory();

}else{

file = Environment.getRootDirectory();

}

if(file!=null&&!TextUtils.isEmpty(file.getPath())){

return file.getPath();

}else{

return "/sdcard";

}

}

}

记得要加入权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

时间: 2024-10-25 18:57:04

android 如何在sd卡下创建指定的多层文件夹的相关文章

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

公司在做一个项目 要求记录用户行为,写行为日志文件到SD卡.实现思想 不影响界面用户体验,要时时记录日志 不能漏掉. 1.并发处理日志 写一个类负责管理各个线程传过来的日志数据,日志数据放在队列中等待写线程去处理.这里每次添加一条日志数据都会检查写日志线程是否在工作,同时为了并发处理传过来的数据采用synchronized 同步: ConcurrentLinkedQueue 是基于链接节点的.线程安全的队列.并发访问不需要同步.因为它在队列的尾部添加元素并从头部删除它们,所以只要不需要知道队列的

Android 虚拟机安装SD卡

在cmd命令行下,进入platform-tools目录下. 1.创建sdcard mksdcard -l mycard 256M E:\android\myCards\mysdcard.img 这样就在该目录下创建好了一个SD卡的虚拟镜像.其中-l命令行参数表示虚拟磁盘的卷标号. 256M是创建的虚拟sdcard的大小,在9M-1023M之间 2.激活sdcard 命令行输入:emulator -avd Android4.0 -sdcard G:\android\myCards\mysdcard

Android模拟器使用SD卡

在Android的应用开发中经常要用到与SD卡有关的调试,本文就是介绍关于在Android模拟器中SD卡的使用 一.      准备工作 在介绍之前首先做好准备工作,即配好android的应用开发环境 l  JDK 1.6+ l  Android SDK 1.6 (这个版本无关紧要,后面在升级) l  Android SDK Setup l  Eclipse IDE for Java Developers 详细配置方法请参考:http://blog.sina.com.cn/s/blog_4de0

Android开发之sd卡存储和机身存储的路径获取

来源:https://blog.csdn.net/anjingshuai/article/details/84682779 开发过程中碰到将文件存储到手机中时,要先判断是否有sd卡,如下所示 // 判断是否有SD卡   private static boolean ExistSDCard() {   if (android.os.Environment.getExternalStorageState().equals(   android.os.Environment.MEDIA_MOUNTED

如何在GPT格式下创建EFI和MSR分区(安装WIN10/WIN8.1)

如何在GPT格式下创建EFI和MSR分区(安装WIN10/WIN8.1) 前言 本文将总结如何在GPT格式的磁盘下安装win10系统,总结下折腾了本屌两天的鬼东西.老本子用了4年了,想换个笔记本,了解了很多品牌,戴尔.宏基.联想.未来人来.微星.神舟.华硕.惠普.最后被华硕的一款本子所吸引!然后去找各大论坛和电商,当然还有实体店了解这款号称 史上最轻薄的ROG笔记本.都说这本子过于轻薄,散热差了些,但综合个人需求,终于,忍痛下手了!那么,接下来的几个月,坐等吃馒头度过. 来一波图养养眼!    

在SD卡上创建/删除文件夹 使用DDMS透视图管理SD卡

在SD卡上创建和删除文件夹 基本步骤: (1):在控制台中输入adb shell命令,进入shell控制台. (2):在shell控制台中输入cd sdcard 命令,进入SD卡中. (3):在shell控制台中输入ls -al 命令,查看sd卡中包含的全部文件和文件夹. (4):在shell控制台中输入mkdir mrsoft 命令,创建一个名为mrsoft的文件夹. (5):在shell控制台中输入ls -al命令,查看SD卡中包含的全部文件和文件夹.可以看到文件夹mrsoft已经创建. (

在sd卡中创建文件夹和文件

本文以在sd卡中创建文件和文件夹为例,讲述如何创建文件夹和文件的重点. 1. 路径问题(下面的例子是在Java中测试的,在Android中同样适用) 1.1 如果需要在文件夹中创建文件的文件夹存在,直接创建文件即可. 例如:File file = new File("F:/1.png"); 1.2 如果需要在文件夹中创建文件的文件夹不存在,需要首先创建文件夹. 例如: File file = new File("F:/123/1.png"); 注释:需要首先在F盘创

Android手机外置SD卡(TF卡)的获取方法

Android手机上的外置SD卡,起初的时候,即在Android出世的前几年,那时手机的存储是十分有限的,不像现在到处可见16G.32G和64G的存储,因而那时候的手机有的厂商允许插入外置的SD卡,此时这张卡仍处于手机的扩展部分.后来,随着手机的发展以及存储能力的增加,这张外置SD卡,逐渐成为了手机的一部分,不再允许可挺拔了,当然现在依然有的手机允许对存储进行拓展,比如三星等. 那张拓展的存储卡,现在叫做TF卡,且不是所有的手机都支持它,但是有时候有些奇葩需求偏要优先存储在TF卡里面,这叫不得不

Android中向SD卡读写数据,读SD卡和手机内存

package com.example.sdoperation; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import android.support.v7.app.Actio