【问题标题】:BuferredReader problemsBufferedReader 问题
【发布时间】:2014-05-09 16:25:03
【问题描述】:

我在读取文件时遇到问题。这是我的代码,谁能告诉我我哪里错了?

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

【问题讨论】:

  • 想告诉我们有什么问题吗?
  • 你得到什么错误?
  • 要告诉我们您哪里出了问题,您需要告诉我们发生了什么
  • 这可能是我的文件位置错误吗? 是的,肯定是。您将文件放在哪里以及如何检索它?
  • @Lighthat 呃,不,那不正确。

标签: java bufferedreader


【解决方案1】:

您似乎想使用某种资源。资源不作为文件访问,最好使用as a stream

InputStream resourceStream = MyClass.class.getResourceAsStream(fileName);
BufferedReader myReader = new BufferedReader(new InputStreamReader(resourceStream));

上面的代码考虑了你的类的位置,所以你可以简单地使用文件名,没有路径,并将文件名放在你的.java文件旁边。它将自动放置在生成的 .class 文件旁边,并且 - 打包后 - 在您的 .jar 文件中。

【讨论】:

  • 试试这个,如果遇到异常,请评论。
【解决方案2】:

正如 owlstead 评论的那样,保持在适当的位置并尝试这样

URL url = ClassLoader.getSystemResource(fileName);
br = new BufferedReader(new InputStreamReader(url.openStream()));

即将文件保存在 classes 文件夹中或与 jar 或当前工作目录等捆绑在一起。

【讨论】:

  • 这会起作用,但它会使用包路径的根目录并使用中间 URL,您可以跳过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2016-09-10
  • 1970-01-01
相关资源
最近更新 更多