我试图从罐子内的另一个类读取罐子内的文件。但是,我不断收到相同的错误:尝试读取度量标准时,捕获了类java.io.FileNotFoundException:metrics.yml
首先,让我的代码做这样的事情,假设它来自类的路径:
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);
然后我注意到了这个线程。如何从Java的jar中读取文件?并发现我需要在路径前加一个“ /”。我也使用斜杠尝试了以上两种方法。
String yamlPath = File.seperator + ".." + File.separator + ".." + File.separator + ".." + File.separator + ".." + File.separator + "myYaml.yml";
OR
String yamlPath = File.seperator + "myYaml.yml";
我现在完全不知道该怎么办。我有关于jar结构的东西吗?为什么找不到我的文件。在此先感谢您的帮助/信息。
抱歉,我忘了提到它在JAR中的位置:该类在以下路径中:com / a / b / c / myclass.class
yaml在以下路径中:myYaml.yml