getResourceAsStream без учета регистра

Имеется такой код:
Java:
String name = "mod_name";
String lang = "ru_ru";
InputStream is = OtherModChanger.class.getResourceAsStream("/assets/" + name + "/lang/" + lang + ".lang");

Бывают случаи что is возвращает null из-за того что в файле мода язык задан в другом регистре, например ru_RU.

Как можно отключить учет регистра для функции getResourceAsStream?
 
Я и так передаю название из маленькой буквы, это не решает мою проблему. Некоторые моды хранят название языка в разных регистрах, по этому для первого мода все будет хорошо, а для второго функция вернет результат null. (Смотреть скриншот)

1577347406103.png
 
Можно еще получить список файлов в папке и отфильтровать по equalsIgnoreCase
 
А ZipFile читает архив полностью?
 
Ну значит им можно файлы в ресурсах перебрать
 
Возможно есть какой то аналог getResourceAsStream? Просто странно что приходится делать жесткие костыли когда требуется отключить чувствительность к регистру...
 
Почему костыли-то?
Напиши простой метод и юзай.
Java:
private InputStream getLangStream(String mod, String lang){
    String path = "/assets/" + mod + "/lang/" + lang + ".lang";
    InputStream is = OtherModChanger.class.getResourceAsStream(path);
    if(is == null){
        is = OtherModChanger.class.getResourceAsStream(path.toLowerCase());
    }
    return is;
}
InputStream inputStream = getLangStream("ic2", "ru_RU");
 
Назад
Сверху