Android读写SD卡

SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:1.获取SD卡的根目录2.在SD卡上创建文件夹目录3.在SD卡上创建文件4.判

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:

   1. 获取SD卡的根目录

String  sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();   
// 何问起 hovertree.com

 2. 在SD卡上创建文件夹目录

/** 
 * 在SD卡上创建目录 
 */  
public File createDirOnSDCard(String dir)  
{  
    File dirFile = new File(sdCardRoot + File.separator + dir +File.separator);  
    Log.v("createDirOnSDCard", sdCardRoot + File.separator + dir +File.separator);  
    dirFile.mkdirs();  
    return dirFile;  
}  
// 何问起 hovertree.com

 3. 在SD卡上创建文件

/** 
 * 在SD卡上创建文件 
 */  
public File createFileOnSDCard(String fileName, String dir) throws IOException  
{  
    File file = new File(sdCardRoot + File.separator + dir + File.separator + fileName);  
    Log.v("createFileOnSDCard", sdCardRoot + File.separator + dir + File.separator + fileName);  
    file.createNewFile();  
    return file;  
}  // 何问起 hovertree.com

4.判断文件是否存在于SD卡的某个目录

/** 
 * 判断SD卡上文件是否存在 
 */  
public boolean isFileExist(String fileName, String path)  
{  
    File file = new File(sdCardRoot + path + File.separator + fileName);  
    return file.exists();  
}  // 何问起 hovertree.com

  5.将数据写入到SD卡指定目录文件

// 何问起 hovertree.com
/* 写入数据到SD卡中 
     */  
    public File writeData2SDCard(String path, String fileName, InputStream data)  
    {  
        File file = null;  
        OutputStream output = null;  
          
        try {  
            createDirOnSDCard(path);  //创建目录  
            file = createFileOnSDCard(fileName, path);  //创建文件  
            output = new FileOutputStream(file);  
            byte buffer[] = new byte[2*1024];          //每次写2K数据  
            int temp;  
            while((temp = data.read(buffer)) != -1 )  
            {  
                output.write(buffer,0,temp);  
            }  
            output.flush();  
              
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        finally{  
            try {  
                output.close();    //关闭数据流操作  
            } catch (Exception e2) {  
                e2.printStackTrace();  
            }  
        }  
          
        return file;  
    } 

   one more important thing:

      对SD卡的操作,必须要申请权限:    

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

推荐:http://www.cnblogs.com/roucheng/p/3504465.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120554.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 深入浅出python第二版PDF_python数据分析

    深入浅出python第二版PDF_python数据分析内容介绍热点排行相关文章下载地址↓中文名:深入浅出Python原名:深入浅出Python作者:巴里图书分类:网络资源格式:PDF版本:扫描版出版社:东南大学出版社书号:9787564126759发行时间:2011年5月地区:英国语言:英文简介:内容简介:你是否想过通过一本书来学习Python?《深入浅出Python))通过一种独特的超越语法手册的方式来帮助你学习Python。…

    2022年10月17日
  • PAT日志 1146「建议收藏」

    PAT日志 1146「建议收藏」顽强的小白1146TopologicalOrder(25分)ThisisaproblemgivenintheGraduateEntranceExamin2018:WhichofthefollowingisNOTatopologicalorderobtainedfromthegivendirectedgraph?Nowyouare…

  • sqlserver 自动初始化从节点数据

    sqlserver 自动初始化从节点数据

    2021年11月27日
  • 数据库系统及应用实验与课程设计指导(图书管理系统c++课程设计)

    一、系统平台开发工具:EclipsejavaMars数据库MySQLserver,Navicat可视化工具操作系统:win10百度云链接:https://pan.baidu.com/s/1SIWR75NRIh8sSL0oV7uZgA提取码:4y44二、数据库规划1.任务陈述:图书馆信息管理系统数据库用以收集、存储书籍信息、人员(读者、图书管理员…

  • 详细介绍git clone –depth=1的用法

    详细介绍git clone –depth=1的用法详细演示gitclone–depth=1的用法

  • 树莓派3B+ 安装系统

    树莓派3B+ 安装系统树莓派3B+安装系统对于树莓派3B+系统安装方法有很多,我就介绍比较普通的一种。适合小白操作!安装概要步骤:官网下载系统-》刷入TF卡-》设置开启显示器和SSH-》通电-》进入系统详细步骤进入官方网站下载系统镜像。https://www.raspberrypi.org/downloads/来到下面这个页面如果感觉下载速度慢,可以将下载链接放到迅雷里面下,基本可以做到满速下载!下载

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号