在java中找不到text.properties文件

在java中找不到text.properties文件,java,swing,file,properties,filenotfoundexception,Java,Swing,File,Properties,Filenotfoundexception,我创建了一个应用程序,其中所有标签都是从一个名为text.properties的文件中提取的,它在我的IDE中运行良好,但是当我使用命令提示符运行jar文件时,出现了下面的错误 Oct 04, 2013 9:28:14 AM Main.LoginFrame <init> SEVERE: null java.io.FileNotFoundException: text.properties (The system cannot find the file specified)

我创建了一个应用程序,其中所有标签都是从一个名为text.properties的文件中提取的,它在我的IDE中运行良好,但是当我使用命令提示符运行jar文件时,出现了下面的错误

Oct 04, 2013 9:28:14 AM Main.LoginFrame <init>
SEVERE: null
java.io.FileNotFoundException: text.properties (The system cannot find the file
specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at GraphicUserInterface.LoginFrameGUI.initializingLoginElements(LoginFra
meGUI.java:30)
    at Main.LoginFrame.<init>(LoginFrame.java:72)
    at Main.Main.main(Main.java:41)

Exception in thread "main" java.lang.NullPointerException
    at Main.LoginFrame.<init>(LoginFrame.java:81)
    at Main.Main.main(Main.java:41)

同样的方法在过去也适用于我。我已将属性类型复制到netbeans项目文件夹中。请帮助我找到解决方案。

您可以在命令提示符下设置
类路径,或者提供属性文件的绝对路径以使其工作

prop.load(new FileInputStream("full/path/where/the/file/is/text.properties"));

我解决了这个问题。您只需将属性文件复制到jar文件所在的位置

text.properties
文件需要与应用程序处于相同的执行上下文中(即它的开始目录)。我将添加一个
System.out.println(新文件(“.”.getCanonicalPath())
在尝试加载文件以确定工作目录上下文之前,您是否尝试了类似于
LoginFrame.class.getClassLoader().getResourceAsStream(“text.properties”)
?的方法,这样您只需确保该文件包含在分发jar中,这里假设在部署时它会在项目的根目录(src)上找到,这些资源很可能会成为。在这种情况下,必须通过
URL
而不是
File
访问资源。请参阅标签,了解形成
URL
的方法。除非使用.getClassLoader().getResourceAsStream(“text.properties”),否则设置类路径不会有任何帮助。我提供了完整路径,它工作正常,当应用程序在另一个系统上运行时会有任何问题。是的,这肯定是个问题。您可以改为设置
类路径
,并按照Jason和OscasG的建议尝试加载它。
prop.load(new FileInputStream("full/path/where/the/file/is/text.properties"));