Java 双铁导火索问题
我在读取文件时遇到问题。这是我的密码谁能告诉我哪里错了Java 双铁导火索问题,java,bufferedreader,Java,Bufferedreader,我在读取文件时遇到问题。这是我的密码谁能告诉我哪里错了 public static Map<Route, List<Service>> read(String fileName) throws IOException, FormatException { BufferedReader reader = new BufferedReader(new FileReader(fileName)); String strLine;
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();
}
公共静态映射读取(字符串文件名)
抛出IOException,FormatException{
BufferedReader reader=新的BufferedReader(新文件读取器(文件名));
弦斯特林;
而((strLine=reader.readLine())!=null)
{
/*自有代码*/
}
reader.close();
}
我有一个FileNotFound异常。这可能是我的文件位置错误的原因吗?正如owlstead评论的那样,请保留在适当的位置,然后像这样尝试
URL url = ClassLoader.getSystemResource(fileName);
br = new BufferedReader(new InputStreamReader(url.openStream()));
i、 e将文件保存在classes文件夹中,或与jar或当前工作目录等捆绑在一起。您似乎想要使用资源。资源不能作为文件访问,最好使用它
上面的代码考虑了类的位置,因此您只需按原样使用文件名,而不需要路径,并将文件名放在
.java
文件旁边。它将自动放置在生成的.class
文件旁边,并在打包后放在您的.jar
文件中。是否愿意告诉我们问题出在哪里?您会遇到什么错误?要告诉我们错误出在哪里,您需要告诉我们发生了什么。这可能是我文件的错误位置吗?是的,当然是。你把文件放在哪里了?你是如何检索的?@Lighthat呃,不,这是不正确的。这会起作用,但它将使用包路径的根,并使用一个中间URL,你可以跳过它。试试这个,如果你遇到异常,请评论。
InputStream resourceStream = MyClass.class.getResourceAsStream(fileName);
BufferedReader myReader = new BufferedReader(new InputStreamReader(resourceStream));