Java在/res文件夹中查找文件并使用Scanner
我的文件位于My/res中,更具体地说是在/res/Menus/CharSelect中。我已经进入了构建路径,并确保res文件夹是类路径。但是,我的新扫描仪(文件)导致了NullPointerException。 当我执行file.exists()时;它返回FALSE。。。我不知道为什么。我100%确信该文件确实存在,并且它位于CharSelect文件夹中。 有人能帮忙吗?提前谢谢Java在/res文件夹中查找文件并使用Scanner,java,file,filenotfoundexception,Java,File,Filenotfoundexception,我的文件位于My/res中,更具体地说是在/res/Menus/CharSelect中。我已经进入了构建路径,并确保res文件夹是类路径。但是,我的新扫描仪(文件)导致了NullPointerException。 当我执行file.exists()时;它返回FALSE。。。我不知道为什么。我100%确信该文件确实存在,并且它位于CharSelect文件夹中。 有人能帮忙吗?提前谢谢 file = new File(getClass().getResource("/Menus/CharSe
file = new File(getClass().getResource("/Menus/CharSelect/Unlocked.txt").getPath());
try
{
scanner = new Scanner(file);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
不要那样做。当您创建一个jar时,您将不能作为
文件
对象访问该文件,而必须从中获取输入流
相反,请将以下选项与一起使用:
不要那样做。当您创建一个jar时,您将不能作为
文件
对象访问该文件,而必须从中获取输入流
相反,请将以下选项与一起使用:
someClass.getResource
解析相对于someClass
位置的路径。将文件移动到路径\u到\u此\u类\u路径/菜单/CharSelect/Unlocked.txt,操作必须成功someClass.getResource
解析相对于someClass
位置的路径。将文件移动到路径\u到\u这个类\u路径/Menus/CharSelect/Unlocked.txt,操作必须成功谢谢!我会做一个罐子,弄不明白为什么找不到它。让我的生活变得轻松多了,伙计。@Evannud不客气:)别忘了关闭小溪(我编辑了我的答案,我们从不太谨慎)。谢谢你!我会做一个罐子,弄不明白为什么找不到它。让我的生活轻松多了,伙计。@Evannud不客气:)别忘了关上小溪(我编辑了我的答案,我们从不太谨慎)。
try (InputStream is = getClass().getResource("/Menus/CharSelect/Unlocked.txt").openStream()) {
scanner = new Scanner(is);
...
} // is.close() called automatically by try-with-resource block (since Java 7)