如果sdcard文件夹是在二级目录下,比如("/mnt/sdcard"),那么
File file=new File(Environment.getExternalStorageDirectory(),filename);
还能找到SD卡目录进行Android文件操作处理吗?  急需求解啊,都搞了半个星期了,按照老师的代码来,却不能把文件保存到SD卡上去,唯一不同的是我的模拟器中的sdcard文件是二级目录下!

解决方案 »

  1.   

    书上的版本太老了吧
    先检查一下SD的读写权限有没有
    在AndroidManifest.xml添加
    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission
    android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <!-- 往SDCard写入数据权限 -->
    <uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    可以参考下面代码,得到SD卡的文件 if (Environment.getExternalStorageState().equals(
    Environment.MEDIA_MOUNTED)) {
        String path = Environment.getExternalStorageDirectory().getPath();
        String[] files = null;
        File mDir = new File(path);     if (mDir.list() != null) {
    files = new String[(int) mDir.length()];
    files = mDir.list();
        }
        for (int i = 0; i < files.length; i++) {
    Log.e("dir", files[i]);
        }
    }
      

  2.   


    有问题,不过已经解决了,谢谢你们两个啊!
    原因是:File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录,2.2的时候为:/mnt/sdcard  2.1的时候为:/sdcard,所以使用静态方法得到路径会好一点。
      

  3.   

    对的啊,所以才说你用Environment.getExternalStorageDirectory()没问题
    写成静态才有问题好吧