我有一个Java桌面应用程序,我在我拉上分发给学生的NetBeans开发。这里面的zip文件我有的.jar,包含摆动布局罐子“lib”目录和目录我名为包含所需的所有程序中的文本文件“sourcefiles”。打开文件,而不是当前工作目录
所有工作正常,如果jar文件被双击,但是从命令行(java -jar MyApp.jar
)运行时,它只能找到“sourcefiles”目录,如果你第一次到该目录的文件在运行命令之前,有些学生会忘记做的事情。显然,没有办法从我的代码中改变当前的工作目录。以“sourcefiles”的路径在我的代码为相对路径给出,假设我在MyApp的文件夹。那么我该怎么做才能让程序可以从命令行运行,而不必将cd包含到包含目录中?有什么需要将其添加到清单文件?
这个问题可以通过使用Linux的学生大多是面对,但它是在Mac上一样。我认为它在Windows上是一样的,但我猜想没有一个Windows的学生从命令行运行它。
如何访问你的资源,你的代码? – Dici 2014-09-01 14:22:09
BufferedReader f = new BufferedReader(new InputStreamReader(new FileInputStream(filename),“UTF-8”));其中filename是相对路径:sourcefiles/xxxxx。运行程序的jar文件,java库和sourcefiles文件夹都在一个文件夹中,然后我将其压缩以发送给学生。我不希望jar包含源文件,因为它们是可能被程序修改的资源。除了命令行之外,此路径似乎适用于所有内容。 (这些是人文学生,比其他人更懂技术。) – Numa 2014-09-05 09:43:54