Как проверить 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.
Другие вопросы по тегам