我正在为一些串行端口通信创建一个 Java 应用程序,并且在应用程序的文件夹中,我有两个资源需要在运行时存在。第一个是用作启动屏幕的图像,另一个是需要在程序启动时读取的配置文件。
这是 Linux 中“tree”命令输出的精简版本,我需要引用的两个文件是“commandSet.config”和“splash-screen2.png”
.
├── bin
│ ├──...
├── commandSet.config
├── app-manifest.txt
├── splash-screen2.png
└── src
├── events
│ └── InterfaceEvents.java
├── models
│ ├── Command.java
│ └── Phone.java
├── operations
│ ├── Application.java
│ ├── ...
└── views
├── CallDialog.java
├── SplashScreen.java
└── Window.java
我目前在以下几行中引用:
BufferedReader in = new BufferedReader(new FileReader("commandSet.config"));
和
JLabel image = new JLabel(new ImageIcon("splash-screen2.png"));
当我从 Eclipse 运行它时,这可以正常工作,但是一旦我导出到可运行的 JAR,文件就不会移动,因此不会被正确引用。我尝试将它们移动到“src”文件夹中,这导致它们被存档在 JAR 中,但我仍然无法引用它们。
我对导出 Java 项目的概念还很陌生,所以也许我错过了一些明显的东西。如果有人可以向我展示执行此操作的最佳方法以及未来项目文件系统的最佳方法,我将不胜感激。干杯!