解决方案 »

  1.   

    Environment.getExternalStorageDirectory()这样就可以了
      

  2.   

    有两种,一个就是将你的文件放到内部存储中,就像自己建立的数据库一样,可以直接去read,不需要加路径。 
    第二种,就是将你的文件放入到外部存储中,这个时候的路径就可以通过Environment.getExternalStorageDirectory()获取。
      

  3.   

    楼主试试这个路径  /storage/sdcard0File file = new File(Environment.getExternalStorageDirectory()+ "");
      

  4.   

    谢谢几位的回复,想问下
    1. 我看/storage中没有sdcard之类的目录,这个目录我需要手工建立吧?即使手机终端没有SD卡,也可以这样建立用?
    2. “有两种,一个就是将你的文件放到内部存储中,就像自己建立的数据库一样,可以直接去read,不需要加路径”
    之所以不这样,是因为我写的应用需要加载一个文件,这个文件可以自己手工更新后放到指定路径下替换,而不需要重新安装应用,所以第二种方法比较对应,但就像第一个问题,如果手机终端没有SD卡,也不影响建立/storage/sdcard和使用那个方法吧?
    我之前是这样读取的,如果/mnt/sdcard不存在rd.data这个文件,那么就从assets文件夹读取:
    FileInputStream fileInputStream = new FileInputStream("/mnt/sdcard/rd.data");
    if (null == inputStream) {
    inputStream = getResources().getAssets().open("rd.data");
    }
      

  5.   

    如果没有/storage/sdcard目录,还需要自己建立么?还是只要放到storage就可以用下面的方法了?
      

  6.   

    调用这个方法Environment.getExternalStorageDirectory()其实就是自动寻找你的手机上的存储设备的环境,除非你手机没插存储卡,否则一定会找到的,所以你不必担心会找不到。给你举个简单的例子 ,比如我现在要找我的手机相册的路径。可以这样做:
    File file = new File(Environment.getExternalStorageDirectory()+ "/DCIM/Camera/");
    file.mkdirs();// 如果/storage/sdcard0/DCIM/Camera/这个文件夹不存在,就创建该文件夹