我在 Mac(OS 版本 10.6.8)上的 NetBeans(v. 7.2.1)中开发了一个 GUI 应用程序。这个应用程序需要一个 XML 文件(包含程序使用的数据),我想把它放在一个子目录data
中。
问题是如果我想在 NetBeans 中运行我的应用程序,这个数据目录必须放在项目主目录中;但是,如果我想简单地运行.jar
位于主目录的子目录中的文件(使用双击),dist
我必须将数据文件夹移动到dist
- 然后程序将不再从 NetBeans 中运行。
这是在程序中指定数据文件路径的方式:
public String vocabPath = "data" + File.separator + "wordlist.xml";
public File vocabFile = new File(vocabPath);
起初,这本身似乎没有问题,因为对于应用程序的重新分发,我认为我可以简单地将数据目录移动到dist
中,然后分发它(在 OS X 和 Windows 7 上运行良好);但是,在 Ubuntu 上,我收到一条错误消息,提示找不到数据文件。
我是 Java 新手,所以也许这是一个愚蠢的问题,但无论如何:我怎样才能让我的应用程序始终访问位于的数据文件MAIN_DIR/dist/data
?或者如果问题的根源在其他地方,那么请告诉我。
提前非常感谢!
编辑
我已经发布了一个后续问题,因为我认为我已经将问题缩小到一些仅在 Ubuntu 下发生的意外行为。
编辑 2
对我的后续问题(见第一次编辑)的回答已经解决了我的问题(就像那些在尝试解决与我类似的问题时发现这篇文章的人的说明一样)。