Android手机SdCard上的文件操作

对文件夹的操作离不开Environment类,Environment类的常用方法:

    * 方法:getDataDirectory()
      解释:返回 File ,获取 Android 数据目录。
    * 方法:getDownloadCacheDirectory()
      解释:返回 File ,获取 Android 下载/缓存内容目录。
    * 方法:getExternalStorageDirectory()
      解释:返回 File ,获取外部存储目录即 SDCard
    * 方法:getExternalStoragePublicDirectory(String type)
      解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
    * 方法:getExternalStorageState()
      解释:返回 File ,获取外部存储设备的当前状态
    * 方法:getRootDirectory()
      解释:返回 File ,获取 Android 的根目录

获取SDCard所在的根路径
public void getSDPath(){ 
        File sdDir = null; 
        File sdDir1 = null;
        File sdDir2 = null;
        boolean sdCardExist = Environment.getExternalStorageState()   
                            .equals(android.os.Environment.MEDIA_MOUNTED);   //判断sd卡是否存在 
        if   (sdCardExist)   
        {                               
          sdDir = Environment.getExternalStorageDirectory();//获取根目录 ,其它的自己打印出来看看就知道代表什么了
          sdDir1 = Environment.getDataDirectory();
          sdDir2 =Environment.getRootDirectory();
       }   
        System.out.println("getExternalStorageDirectory():   "+sdDir.toString()); 
        System.out.println("getDataDirectory():  "+sdDir1.toString()); 
        System.out.println("getRootDirectory():  "+sdDir2.toString()); 
 }


在SD卡上创建一个文件夹的示例
public class make extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        File  sd=Environment.getExternalStorageDirectory(); 
        String path=sd.getPath()+"/notes"; 
        File file=new File(path); 
        if(!file.exists()) 
         file.mkdir(); 

    }

    /**
     * 删除文件夹
     * @param filePathAndName String 文件夹路径及名称
     * @param fileContent String
     * @return boolean
     */
    public void delFolder(String folderPath) {
            try {
                    delAllFile(folderPath); //删除完里面所有内容
                    String filePath = folderPath;
                    filePath = filePath.toString();
                    java.io.File myFilePath = new java.io.File(filePath);
                    myFilePath.delete(); //删除空文件夹

            }
            catch (Exception e) {
                    System.out.println("删除文件夹操作出错");
                    e.printStackTrace();

            }
    }

    /**
     * 删除文件夹里面的所有文件
     * @param path String 文件夹路径
     */
    public void delAllFile(String path) {
            File file = new File(path);
            if (!file.exists()) {
                    return;
            }
            if (!file.isDirectory()) {
           return;
            }
            String[] tempList = file.list();
            File temp = null;
            for (int i = 0; i < tempList.length; i++) {
                    if (path.endsWith(File.separator)) {
                            temp = new File(path + tempList[i]);
                    }
                    else {
                            temp = new File(path + File.separator + tempList[i]);
                    }
                    if (temp.isFile()) {
                            temp.delete();
                    }
                    if (temp.isDirectory()) {
                            delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件
                            delFolder(path+"/"+ tempList[i]);//再删除空文件夹
                    }
            }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值