Как проверить HTML-файл существует в папке активов
Assets
|-man
| |-myhtml.html
|
|-women
| |-myhtml.html
это моя структура папок, иногда мне нужно проверить, существует ли файл у мужчин, иногда мне нужно проверить, существует ли файл у женщин, что я могу сделать.
try {
fileExist = Arrays.asList(getResources().getAssets().list("")).contains(pathInAssets);
} catch (FileNotFoundException e) {
fileExist = false;
} catch (IOException e) {
e.printStackTrace();
}
это дает только список мужчин и женщин, я не могу зайти в него и проверить существование.
Есть ли другой способ проверить это?
2 ответа
Просто откройте поток ввода для файла. Как будто вы собирались прочитать файл.
Если вам удастся открыть его, файл существует. В противном случае вы получите исключение.
Используйте метод ниже, чтобы получить файл из папки активов. Я предоставляю код получить все.mp4 файл и сохранить файл в список строк.
private List<String> videoList=new ArrayList<>();
private boolean listAssetFiles(String path) {
String [] list;
try {
list = getAssets().list(path);
if (list.length > 0) {
// This is a folder
for (String file : list) {
if (!listAssetFiles(path + "/" + file))
return false;
else {
// This is a file
// TODO: add file name to an array list
if (file.contains(".mp4") || file.contains(".mp3") ) {
videoList.add(file);
}
}
}
}
} catch (IOException e) {
return false;
}
return true;
}
когда вы вызываете этот метод, передайте только..
listAssetFiles(""); // you can pass your path if is empty then it scan root.