我遇到了麻烦。我的应用应该读取文件列表并向用户显示其名称。 当应用程序第一次启动时,我需要为应用程序创建一个特定的文件夹? 那怎么能检查它是否为空?
答案 0 :(得分:4)
假设您在内部存储中创建了目录,您可以像这样获取目录中的子对象数
File dir = context.getDir("somePath", Context.MODE_PRIVATE);
File[] children = dir.listFiles();
if(children.length > 0)
{
// the directory is not empty
}
else
{
// the directory is empty.
}
这只是一个快速示例代码。更好的方法是使用带FileFilter
的自定义dir.listFiles()
排除自我和父别名,因为我不确定它们是否会始终从结果列表中排除。
答案 1 :(得分:2)
以下代码将检查文件夹是否已存在,如果没有,则创建一个文件夹,并在创建错误时发出警告:
// check if appfolder is created and if not through an
// exception
File path = new File("yourDir");
if (!path.exists()) {
if (!path.mkdirs()) {
try {
throw new IOException(
"Application folder can not be created. Please check if your memory is writable and healthy and then try again.");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
} else {
Log.i("app", "directory is: " + path.getPath());
}
exists()
检查路径是否存在,path.exists()
只为您创建一个路径。