Java 我在读取.jar中的文件时遇到问题
我在读取.jar文件表中的.txt文件时遇到一些问题。 我知道我需要使用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
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”作为类。