如何检查目录是否存在?读到最后

时间:2016-05-02 14:10:46

标签: java android

程序应检查目录是否存在?如果没有,请告诉用户没有这样的文件夹。

我发现了很多例子,其中解释了如何检查是否有文件,但我需要知道是否有目录?所有方法

boolean x = context.getExternalFilesDir("/nicknameOfUser/").exists();
Toast.makeText(context, "ExternalFilesDir : " + x, Toast.LENGTH_SHORT).show();

isAbsolute()isDirectory()isFile(),创建一个新的文件夹路径 - nicknameOfUser我不想创建它们,我只需要收到一个目录或者不...我不需要创建新文件夹...

如何做?我认为这是一个常规问题,但我无法理解......

当我第一次启动应用程序时 - 在我的文件管理器中没有任何文件!但是在我检查.exists();后,它会创建一个我需要检查的文件夹的路径......我不需要它

5 个答案:

答案 0 :(得分:5)

要检查是否有目录,您必须使用两个条件

File file = new File(filePath);
boolean isPresent = file.exists() && file.isDirectory();
  

仅当文件存在且为目录时才返回true。

答案 1 :(得分:2)

您可以按如下方式要求isDirectory()

File f = new File(Environment.getExternalStorageDirectory()+"/nicknameOfUser/");
  if(f.isDirectory()) {
 }

答案 2 :(得分:0)

 File file = new File("your path");
   file.exists();

答案 3 :(得分:0)

  

但是在我检查之后.exists();它创建了一个我需要检查的文件夹的路径...我不需要它

问题不在于File.exists()电话。正是getExternalFilesDir调用正在创建目录。正如documentation所述:

  

Environment.getExternalStoragePublicDirectory()不同,此处返回的目录将自动为您创建。

答案 4 :(得分:-1)

最终我找到了解决方案。我开始认为这是不可能的,但一切都很好

String fileDir = Environment.getExternalStorageDirectory().getAbsoluteFile() + "/nicknameOfUser/";
    File file = new File(fileDir);
    boolean x = file.exists();

此代码正常运行