file.mkdirs()不起作用

时间:2012-10-22 18:10:04

标签: java android file io

以下是代码:

  String folderPath = Environment.getExternalStorageDirectory() + "/AllAroundMe/Images";
      File file = new File(folderPath);
      if(!file.exists())
      {
            if(file.mkdirs());
            Log.d("MyTag","Created folders succefully");
      }
      if(file.exists())
      {
      Log.d("MyTag", "folders exists: " + file.getAbsolutePath());
      }

第二个如果永远不会发生,它应该,因为我做这些dirs。我的代码出了什么问题? 顺便说一句,每次我运行这个程序时,它总是处于第一个状态。

2 个答案:

答案 0 :(得分:1)

我认为你应该删除semi-colon之后的内容,如果: -

if(file.mkdirs()) {
    Log.d("MyTag","Created folders succefully");
}

P.S : - 这就是为什么你应该总是使用大括号,即使你只有单一的陈述,这样你就不会犯这样的错误。

答案 1 :(得分:0)

确保你有

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

在你的android.manifest文件中。

此外,最好像这样构建file对象:

String folderPath = "AllAroundMe/Images";
File file = new File(Environment.getExternalStorageDirectory(), folderPath);