У меня есть программа, которая требует пути к файлу. В настоящее время, он настроен так:указать путь к файлу внутри java-программы
public class Main {
private static final String ACOUSTIC_MODEL_PATH =
"resource:/edu/cmu/sphinx/models/en-us/en-us";
private static final String DICTIONARY_PATH =
"resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict";
У меня есть два вопроса:
- Что такое этот формат
resource:/path/goes/here
, speficallyresource
слово? - Как указать путь к файлу на диске?
Я попробовал эти варианты, но файл не удается найти:
private static final String DICTIONARY_PATH = "/d/cmudict-en-us.dict";
private static final String DICTIONARY_PATH = "file:/d/cmudict-en-us.dict";
private static final String DICTIONARY_PATH = "file://d/cmudict-en-us.dict";
Вот как якобы используется путь (расположение здесь путь):
public static URL resourceToURL(String location) throws MalformedURLException {
Matcher jarMatcher = jarPattern.matcher(location);
if (jarMatcher.matches()) {
String resourceName = jarMatcher.group(1);
return ConfigurationManagerUtils.class.getResource(resourceName);
} else {
if (location.indexOf(':') == -1) {
location = "file:" + location;
}
return new URL(location);
}
}
Не могли бы вы показать код, где '' ACOUSTIC_MODEL_PATH' или DICTIONARY_PATH' фактически используется? –
Почему бы не попробовать что-то вроде D: /cmudict-en-us.dict? – Alexandr
@Alexandr, я попробовал, я получаю эту ошибку 'InternalConfigurationException: Bad URL D: /cmudict-en-us.dictunknown protocol: d' –