Я пытаюсь прочитать файл внутри моей банки из другого класса внутри банки. Однако я постоянно получаю ту же ошибку: Caught: class java.io.FileNotFoundException при попытке прочитать метрики: metrics.ymlКласс Java Прочитал Ямль внутри Jar
Сначала у меня был код, похожий на этот код, предполагая, что это был путь от класса :
String yamlPath = ".." + File.separator + ".." + File.separator + ".." + File.separator + ".." + File.separator + "myYaml.yml";
InputStream in = new FileInputStream(new File(yamlPath));
InputStreamReader isr = new InputStreamReader(in);
BufferedReader input = new BufferedReader(isr);
yamlObj = (HashMap) javaYAML.load(input);
Я также сделал это при условии, что может встать на путь от основания кувшина:
String yamlPath = "myYaml.yml";
InputStream in = new FileInputStream(new File(yamlPath));
InputStreamReader isr = new InputStreamReader(in);
BufferedReader input = new BufferedReader(isr);
yamlObj = (HashMap) javaYAML.load(input);
Я тогда заметил эту нить How to read a file from jar in Java? и выяснил, что мне нужно «/» до моего дорожка. Я пробовал оба метода выше, используя косую черту.
String yamlPath = File.seperator + ".." + File.separator + ".." + File.separator + ".." + File.separator + ".." + File.separator + "myYaml.yml";
OR
String yamlPath = File.seperator + "myYaml.yml";
Я полностью потерял, что делать с этой ошибкой. Есть ли что-то, что я не понимаю о структуре банки? Почему мой файл не найден. Заранее благодарим за любую помощь/информацию.
К сожалению, я забыл упомянуть, где он находится в ЕАО: Класс находится по следующему пути: ком/а/б/с/myclass.class YAML находится по следующему пути: myYaml.yml
не
Это больше не файл в Джаре, где он находится точно в банке? –
@JigarJoshi Извините. Теперь вопрос обновлен. –