我无法从文件中读取内容。这是我的代码,任何人都可以告诉我我错在哪里?
public static Map<Route, List<Service>> read(String fileName)
throws IOException, FormatException {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String strLine;
while((strLine = reader.readLine())!= null)
{
/* Own Code */
}
reader.close();
}
我有一个FileNotFound异常。可能这是我的文件的位置错了吗?
答案 0 :(得分:0)
正如owlstead所评论的那样,请保持适当的位置,并尝试这样做
URL url = ClassLoader.getSystemResource(fileName);
br = new BufferedReader(new InputStreamReader(url.openStream()));
即将文件保存在classes文件夹中或与jar或当前工作目录等捆绑在一起。
答案 1 :(得分:0)
您似乎想要使用资源。资源不作为文件访问,最好使用它as a stream。
InputStream resourceStream = MyClass.class.getResourceAsStream(fileName);
BufferedReader myReader = new BufferedReader(new InputStreamReader(resourceStream));
上面的代码会考虑您的类的位置,因此您可以直接使用fileName,而不使用路径,并将fileName放在.java
文件旁边。它将自动放置在生成的.class
文件旁边,并在打包时放在您的.jar
文件中。