操作SD卡中文件夹和文件的方法

文件夹的创建


代码如下:

        File file = Environment.getExternalStorageDirectory();
        File file_0 = new File(file, "file_demo");
          if (!file_0.exists()) {
              file_0.mkdirs();
           }

 创建文件夹的时候,需要<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />权限,

        否则会报如下错误:

ApplicationContext Unable to create external files directory

 这里建议使用mkdirs()创建文件夹,而不是用mkdir(),因为前者可以同时创建父文件夹,如果不存在的话,而后者不能。

文件的创建      

代码如下:

File file = Environment.getExternalStorageDirectory();
                      File file_0 = new File(file, "pic");
                         if (!file_0.exists()) {
                                file_0.mkdirs();
                         }
                      try {
                          File pic = new File(file_0, "pic.png");
                      InputStream is = getResources().openRawResource(
                                                            R.drawable.ic_launcher);
                      OutputStream os = new FileOutputStream(pic);
                      byte[] data = new byte[is.available()];
                      is.read(data);
                      os.write(data);
                      is.close();
                      os.close();
                      } catch (FileNotFoundException e) {
                         // TODO Auto-generated catch block
                      e.printStackTrace();
                      } catch (IOException e) {
                       // TODO Auto-generated catch block
                             e.printStackTrace();
                      }

创建的文件名不能带有.后缀的,否则会报如下错误:

java.io.FileNotFoundException:/mnt/sdcard/pic/pic.png (Is a directory)

同时在对文件夹的读写操作时最好添加如下权限:


代码如下:

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

(0)

相关推荐

  • 操作SD卡中文件夹和文件的方法

    文件夹的创建 复制代码 代码如下: File file = Environment.getExternalStorageDirectory(); File file_0 = new File(file, "file_demo"); if (!file_0.exists()) { file_0.mkdirs(); } 创建文件夹的时候,需要<uses-permission android:name="android.permission.WRITE_EXTERNAL_ST

  • Android4.4下MediaProvider无法向外置SD卡中文件写数据的解决方法

    本文实例讲述了Android4.4下MediaProvider无法向外置SD卡中文件写数据的解决方法.分享给大家供大家参考,具体如下: Android4.4平台限制应用对外置SD卡的读写权限.MediaProvider通过 checkAccess方法 限制对外置SD卡的读写. private void checkAccess(Uri uri, File file, int modeBits) throws FileNotFoundException { final boolean isWrite

  • Android将String保存为SD卡中TXT文件的方法

    如下所示: public static void stringTxt(String str){ try { FileWriter fw = new FileWriter("/sdcard/aaa" + "/cmd.txt");//SD卡中的路径 fw.flush(); fw.write(str); fw.close(); } catch (Exception e) { e.printStackTrace(); } } 以上这篇Android将String保存为SD卡

  • Asp.Net程序目录下文件夹或文件操作导致Session失效的解决方案

    1.配置web.config <system.web> <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="

  • Python文件夹与文件的操作实现代码

    有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模块, 导入的方法是: import os 一.取得当前目录 s = os.getcwd() # s 中保存的是当前目录(即文件夹) 比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置. 举个简单例子,我们将abc.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹.且文件夹的名字根据时间自动生成. import os import time folder =

  • Python文件夹与文件的相关操作(推荐)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模块, 导入的方法是: import os 一.取得当前目录 s = os.getcwd() # s 中保存的是当前目录(即文件夹) 比如运行abc.py,那么输入该命令就会返回abc所在的文件夹位置. 举个简单例子,我们将abc.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A

  • docker部署nginx并且挂载文件夹和文件操作

    这段时间在研究docker,在部署nginx时遇到了坑,最主要的问题是在挂载文件和文件夹的时候不知道怎么挂载,经过反复实验以及查看网上的教程,先总结如下: 1首先pull下载nginx镜像包 docker pull nginx 2(关键)查看nginx镜像里面配置文件.日志等文件的具体位置,只有找到镜像配置文件的路径,后面挂载文件和文件夹才能覆盖这些路径 以终端的方式打开镜像容器 [root@docker2 nginx]# docker run -i -t nginx /bin/bash roo

  • java io文件操作删除文件或文件夹的7种方法

    目录 一.删除文件或文件夹的四种基础方法 二.如何删除整个目录或者目录中的部分文件 前提准备 2.1. walkFileTree与FileVisitor 2.2.Files.walk 2.3.传统IO-递归遍历删除文件夹 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 为了

  • 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题

    1. os.listdir()概述 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表. 例如: dir ='F:/Home_01/img'#当前目录 filenames=os.listdir(dir)#filenames存储dir下的所有文件名. 注意:os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的,如下图,则filenames[0]有可能为'22.jpg',而不是我们所希望的'11.jpg'. 解决办法: filenames=os.l

  • pycharm 将django中多个app放到同个文件夹apps的处理方法

    在django中需要创建多个app,这个就需要创建一个apps文件,把所有的app放到同个文件夹,这个比较清楚,看起来也比较规范 首先在项目文件右击-–new–python package创建一个apps文件,把所有的app拖入到apps, 弹出对话框把search for references和open moved files in editor不勾选,点击确认,这个时候运行点击run,会出现运行错误 in check_apps_ready raise AppRegistryNotReady(

随机推荐