Java 我在读取.jar中的文件时遇到问题

Java 我在读取.jar中的文件时遇到问题,java,user-interface,readfile,Java,User Interface,Readfile,我在读取.jar文件表中的.txt文件时遇到一些问题。 我知道我需要使用getResourceAsStream方法,但我无法读取它 我有.jar文件,我在mainclass中有文件“Baza pytan.txt”,所以我这样做: InputStream ten=getClass().getResourceAsStream("Baza pytan.txt"); if(ten == null){ throw new FileNotFoundException(); } Scanner i

我在读取.jar文件表中的.txt文件时遇到一些问题。 我知道我需要使用
getResourceAsStream
方法,但我无法读取它

我有
.jar
文件,我在mainclass中有文件“Baza pytan.txt”,所以我这样做:

InputStream ten=getClass().getResourceAsStream("Baza pytan.txt");

if(ten == null){
    throw new FileNotFoundException();
}

Scanner in = new Scanner(ten,"UTF-8");
String linia;
String[] tokens;
有人能帮我解决这个问题吗

我在GUI程序中使用读取文件。在另一个GUI项目中,我使用了相同的方法读取文件,它在
ResourceAsStream
上运行得非常好,但在这个GUI中,我真的不知道为什么不能

quick.jar\Programik中的结构:


这将在与类相同的包中查找文件。i、 e.同一目录

InputStream ten = getClass().getResourceAsStream("Baza pytan.txt");
假设您的类是
com.mycom.pkg.MyClass
,则文件必须位于
/com/mycom/pkg/

这样,每个包都可以有“本地”文件,并且可以在多个jar中使用相同的resoruce名称,而不会产生冲突(前提是它们使用不同的包)

但是,如果文件位于顶层,则需要忽略具有

InputStream ten = getClass().getClassLoader().getResourceAsStream("Baza pytan.txt");

这将查找顶级目录中的文件或类路径中的任何JAR。

问题出在哪里?您在控制台中看到了哪种异常?我始终有FileNotFoundException的可能副本,我知道如何找到文件所在的路径,我使用了许多不同的方法,但任何人都可以工作。让我们从基础开始。您确定这个文件在Jar中吗?它确切地位于哪个位置?我知道getClassLoader()是如何工作的。文件不在顶层,但它与mainclass在同一文件夹中。@G.Olszewski在这种情况下,您需要使用“mainclass”作为类。