我尝试了here,但没有帮助。
我的文件名过滤器只能获取目录和.txt文件:
FilenameFilter filter = new FilenameFilter()
{
public boolean accept(File dir, String name)
{
if (dir.isDirectory())
{
return true;
}
else
{
return dir.getName().endsWith(".txt");
}
}
};
我也试过了!dir.isFile()
将过滤器应用于文件和目录列表:
CurDir = homeDir;
dir = new File(homeDir);
values = dir.list(filter);
if (values == null)
{
Toast.makeText(this, "No Files/Folders", Toast.LENGTH_LONG).show();
}
else
{
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
homeDir的价值:
homeDir = Environment.getExternalStorageDirectory().toString();
它仍会显示.png和所有其他文件。
答案 0 :(得分:2)
传递的File dir
是包含实际文件的目录,因此它始终是一个目录。您拥有的完整档案是%dir%/%name%。我相信如果整个文件是一个目录,名称将是“/”或者可能为null。
您还可以通过new File(dir, name);