无法在部署的 java 程序中 link 属性文件

Not able to link properties file in deployed java program

我刚刚完成我的项目,一切正常,但是当我将它部署到 .jar 时,它没有显示图像, 所以我在网上搜索并找到了一个解决方案,最初我使用的是这个

File file = new File("src/sample/Drawables/1.jpg");
Image image = new Image(file.toURI().toString());


Imageview.setImage(image);

当我只是通过 IDE 构建应用程序 运行 时,这工作得很好。

但是当我在部署应用程序后尝试 运行 时,图像没有显示 所以我找到了解决方案

Image image = new Image(String.valueOf(getClass().getClassLoader().getResource("src/sample/Drawables/1.jpg")));
        Imageview.setImage(image);

执行此操作后,图像显示在已部署的应用程序中。

所以我尝试了 properties 文件的 simmiler 方法 最初的代码是

            File file = new File("src/sample/PropertiesMain/Alpha.properties");


        if(!file.exists()){
            file.createNewFile();
        } 

因此,在我将应用程序部署到 jar 文件之前,此代码再次运行良好

给出的错误是 java io 异常找不到指定的文件。

我愚蠢地应用了与图像相同的方法。

文件文件=新

File(String.valueOf(getClass().getClassLoader().getResource("src/sample/PropertiesMain/Alpha.properties")));


                if(!file.exists()){
                    file.createNewFile();
                }

显然得到了这个错误

我需要一些帮助,我怎样才能得到那个属性文件!

请询问您是否需要任何其他信息!!

我解释说我的问题不是重复的,因为它不是询问获取绝对路径或我的程序在部署之前运行良好的任何内容。 我一直在寻求帮助,因为学生通常不知道错误的绝对原因。 并且不会搜索类似 This 的内容 顺便说一句,这个问题并没有解释任何接近我在我的问题中提出的问题。

我在这个 中找到了答案 这就是我应该用来从 jar

中读取文件的方法

InputStream is = myClass().getResourceAsStream("res/usernames.txt"); reader = new LineNumberReader( new InputStreamReader(is) );