从同一文件夹中的JAR访问文件

Pro*_*nte 5 java directory jar file executable-jar

我需要从JAR文件(可执行jar)访问(创建和读取)文件,并且该文件应该在与JAR相同的目录中创建

我尝试过, this.getClass().getResource("myFile") 但由于jar中有包,它不起作用..

我也试着写 File f = new File("myFile"); f.createNewFile();

如果我从终端执行JAR,那么这是有效的,但如果我通过双击它来执行JAR,那么该文件将在我的主目录中创建 - .-''

我如何访问一个文件,确保该文件作为JAR文件在SAME目录中?

(当然也获得jar绝对路径会起作用,因为我可以从中获取父文件夹)

Fem*_*emi 7

这将为您提供Jar的完整路径:

String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
Run Code Online (Sandbox Code Playgroud)

编辑:对不起,当我写这个:)时,是在JavaScript模式下.正如那么礼貌地要求,在静态方法中你应该能够做到这一点:

String path = Me.class.getProtectionDomain().getCodeSource().getLocation().getPath();
Run Code Online (Sandbox Code Playgroud)

(类名是Me).