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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中关于命名的例子_Python 命名规范入门实例「建议收藏」

    python中关于命名的例子_Python 命名规范入门实例「建议收藏」这篇文章主要为大家详细介绍了Python命名规范入门实例,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!一,包名、模块名、局部变量名、函数名全小写+下划线式驼峰example:this_is_var二,全局变量全大写+下划线式驼峰example:GLOBAL_VAR三,类名首字母大写式驼峰example:ClassNa…

    2022年6月25日
  • 初学者如何在博客园发布博客[通俗易懂]

    初学者如何在博客园发布博客[通俗易懂]我也是第一次使用博客园,碰到问题后,也是各种尝试,希望同学们也能多尝试,找到适合自己需要的。下面是我在发博客时尝试过的3种方法,特别是对表格的处理。1.如果大家使用markdown编辑器,请参考娄

    2022年7月2日
  • 光猫桥接网速降低了_光猫桥接网速降低了

    光猫桥接网速降低了_光猫桥接网速降低了解决电信宽带下,光猫桥接后使用路由器拨号时宽带降速的问题。

    2022年10月8日
  • 【⚠️windows删除文件夹抽风了⚠️】“错误0x80070091:目录不是空的”问题处理

    有时候我们想要删除一些无用的文件,但是删除的时候缺发现无法删除文件提示“错误0x80070091:目录不是空的”的问题,下面小编就详细的为大家介绍无法删除空文件夹提示“错误0x80070091:目录不是空的”通用解决方法。具体解决方法如下:1、首先呢,我们随便复制一个文件。(比如我复制自己桌面这个图片)2、“BT”这个文件夹根目录有两个文件夹。3、打开第一个文件夹,一直打开到最后一个文件夹,粘贴之前复制的文件。4、打开第二个文件…

    2022年4月9日
  • python做微信回复机器人_微信自动回复机器人免费版

    python做微信回复机器人_微信自动回复机器人免费版还记得“人人”火的时候,有个小黄鸡很有名,可以不知疲倦地和你聊上一整天,而且各种搞怪金句频出,让人欲罢不能。如今人人已经成为“人人直播-高颜值品质直播平台”了(往事不堪回首啊),微信却火地一塌糊涂,那么如何在微信上做一个有趣的小黄鸡功能呢?还好我们有Python。Lifeisshort,sousepython.不得不承认Python真的是一种神奇的语言,常常带给人很多惊喜。不到30行代码便可

    2022年10月1日
  • BetterIntelliJ 激活码_最新在线免费激活2022.02.18

    (BetterIntelliJ 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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