程序应检查目录是否存在?如果没有,请告诉用户没有这样的文件夹。
我发现了很多例子,其中解释了如何检查是否有文件,但我需要知道是否有目录?所有方法
boolean x = context.getExternalFilesDir("/nicknameOfUser/").exists();
Toast.makeText(context, "ExternalFilesDir : " + x, Toast.LENGTH_SHORT).show();
isAbsolute()
,isDirectory()
,isFile()
,创建一个新的文件夹路径 - nicknameOfUser我不想创建它们,我只需要收到一个目录或者不...我不需要创建新文件夹...
如何做?我认为这是一个常规问题,但我无法理解......
当我第一次启动应用程序时 - 在我的文件管理器中没有任何文件!但是在我检查.exists();
后,它会创建一个我需要检查的文件夹的路径......我不需要它
答案 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();
此代码正常运行