Java Eclipse从文件中读取,但Runnable.jar文件不读取
我在做一个简单的游戏 Eclipse读取文本文件,但当我将项目导出为可运行jar文件时,它不会读取它 我的资源文件夹如下所示: 守则:Java Eclipse从文件中读取,但Runnable.jar文件不读取,java,jar,runnable,Java,Jar,Runnable,我在做一个简单的游戏 Eclipse读取文本文件,但当我将项目导出为可运行jar文件时,它不会读取它 我的资源文件夹如下所示: 守则: BufferedReader br = new BufferedReader( new FileReader("Resources/LevelManager/LevelManager.txt")); 当我运行runnable jar文件时,出现以下错误: java.io.FileNotFoundException: Resources\LevelMa
BufferedReader br = new BufferedReader(
new FileReader("Resources/LevelManager/LevelManager.txt"));
当我运行runnable jar文件时,出现以下错误:
java.io.FileNotFoundException: Resources\LevelManager\LevelManager.txt (System cant find the path)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at LevelManager.Utils.getLevel(Utils.java:13)
at LevelManager.LevelManager.<init>(LevelManager.java:15)
at State.GameState.<init>(GameState.java:26)
at Main.Game.init(Game.java:54)
at Main.Game.run(Game.java:80)
at java.lang.Thread.run(Unknown Source)`
java.io.FileNotFoundException:Resources\LevelManager\LevelManager.txt(系统找不到路径)
位于java.io.FileInputStream.open0(本机方法)
位于java.io.FileInputStream.open(未知源代码)
位于java.io.FileInputStream。(未知源)
位于java.io.FileInputStream。(未知源)
位于java.io.FileReader。(未知源)
在LevelManager.Utils.getLevel(Utils.java:13)
LevelManager.LevelManager.(LevelManager.java:15)
GameState.GameState.(GameState.java:26)
在Main.Game.init(Game.java:54)
在Main.Game.run(Game.java:80)
位于java.lang.Thread.run(未知源)`
谢谢您的回答。这是一个经典错误 您的应用程序将在自己的jar中运行;这意味着它的资源将包含在jar中,而不能作为
文件
对象使用。您需要使用类加载器
我不确定您打算如何读取资源,但下面是如何从资源中获取流(请注意,斜杠用于分隔符,始终:
@WillNotClose //this is a JSR 305 annotation
public static InputStream loadResource(final String resourcePath)
throws IOException
{
final URL url = EnclosingClass.class.getResource(resourcePath);
if (url == null)
throw new IOException(resourcePath + ": resource not found");
return url.openStream();
}
你的文本文件是JAR文件中的资源吗?我的意思是资源目录是打包在JAR文件中的吗?你的源代码文件夹和资源文件夹的布局是什么?我搞不懂。我怎么能用你的代码读取这样的文件呢?BufferedReader br=new BufferedReader(new FileReader(“Resources/LevelManager/LevelManager.txt”);String String=br.readLine();br.close();return parseInt(String);@fgrOk我做到了:)Thak you:)