BufferedReader问题

时间:2014-05-09 16:25:03

标签: java bufferedreader

我无法从文件中读取内容。这是我的代码,任何人都可以告诉我我错在哪里?

    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异常。可能这是我的文件的位置错了吗?

2 个答案:

答案 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文件中。