在jar文件目录中创建文件夹

时间:2012-02-24 09:34:06

标签: java logging jar

我正在寻找在.jar文件所在的文件夹中创建新文件夹的解决方案。

所以,如果我在C:\test\temp中有一个test.jer文件,我希望能够创建一个新文件夹(newFolder):C:\test\temp\newFolder.

任何人都知道如何做到这一点。 我试过用

System.getProperty("user.dir").

但是这只会给我正确的,如果我双击jar文件。 我需要从调度程序运行它,然后更改位置。

1 个答案:

答案 0 :(得分:0)

通常,您无法轻易确定JAR文件在运行时的位置。 VM的执行环境可以告诉您用户目录(如您所说),但这是启动VM的目录。因此,如果您双击JAR,那实际上就是JAR所在的目录。但是如果你在命令行上调用java,例如

  

C:\一些\目录> java -cp c:\ temp \ test.jar main.Class

然后“user.dir”将包含“c:\ some \ directory”。 缺乏信息是有意的,因为它允许VM透明地从不同位置加载类。

做你想做的事情的最佳选择是将选择目录作为命令行参数传递。在最坏的情况下,您可以使用“user.dir”作为默认值。但最佳解决方案究竟取决于您希望将目录放在JAR所在的位置。