我在SD卡中有一个XML文件。我想搜索整个SD卡并找到该文件。 之后我必须解析该文件。
我在下面做了类似的事情。但是无法获取文件..
static final String PATH = Environment.getExternalStorageDirectory()
.getPath() + "/download/";
static final String FILE_NAME = "aura_key.xml";
static File isKeyExist() {
File file = new File(PATH+FILE_NAME);
if(file.exists())
{
return file;
}else
return file;
}
提前致谢。
答案 0 :(得分:2)
如果要搜索整个外部存储,则需要查看所有目录和子目录等...
这是一个示例解决方案,只需使用您的文件名调用第一个方法(包括您的文件扩展名:
searchForFileInExternalStorage("aura_key.xml");
以下是方法:
public File searchForFileInExternalStorage(String filename) {
File storage = Environment.getExternalStorageDirectory();
return searchForFileInFolder(filename, storage);
}
public File searchForFileInFolder(String filename, File folder) {
File[] children = folder.listFiles();
File result;
for (File child : children) {
if (child.isDirectory()) {
result = searchForFileInFolder(filename, child);
if (result != null) {
return result;
}
} else {
// replace equals by equalsIgnoreCase if you want to ignore the
// case of the file name
if (child.getName().equals(filename)) {
return child;
}
}
}
return null;
}
答案 1 :(得分:1)
public static boolean checkdirAvail(String yourpath) {
boolean ret = true;
File file = new File(Environment.getExternalStorageDirectory(), path);
if (!file.exists()) {
if (!file.mkdirs()) {
Log.e("TravellerLog :: ", "Problem creating Image folder");
ret = false;
}
}
return ret;
}