目前有个项目需要写文件到sd卡,以下代码在4.0上可以运行,但是在2.3上就一直提示no such file or directory:File file=new File(path+"123.xls");
if(!file.getParentFile().exists())
{
file.getParentFile().mkdirs();
}
if(file.exists())
{
file.delete();
file.createNewFile();
}
else{
file.createNewFile();
}权限已经加了,不属于权限问题。不管是分开创建目录和文件还是一起创建,都是这个问题。貌似是mkdirs()一直返回false,即创建不成功,可能的原因是什么呢??

解决方案 »

  1.   

    是否是你2.3的机子路径不同 你的path 不知道是什么 是否用Environment的方法去获取路径?
      

  2.   

    是的,忘记贴了,用Environment获取
      

  3.   

    用上下文对象获取path,打印出来,
    String mSavePath = "";
    mSavePath = "/data/data/" + getPackageName()+"/images";
    File fileDir = null;
    if (fileDir == null) {
    fileDir = new File(mSavePath);
    if (!fileDir.exists()) {
    fileDir.mkdir();
    }
    }
      

  4.   

    用Environment.getExternalStorageDirectory()获取SD卡路径,后面加SDCard中具体路径。
      

  5.   

    这个获取的目录是/mnt/sdcard/,但是在我2.3的机器中,还是显示找不到此路径