从Java代码的执行位置获取位置

Ras*_*sto 3 java persistence jar file

我有一个swing Java应用程序,可以保存大量数据(例如,您可以考虑游戏及其保存).这些数据存储在文件中而不是数据库中.

我想将这些文件保存在我的应用程序的安装文件(.jar文件)附近.一些用户(比如我)用来删除操作系统的默认应用程序文件夹,当它变大时我不希望它们丢失他们的数据这个办法.

任何想法如何轻松地做到这一点?如何从正在执行.jar文件的程序中获取.jar文件的文件夹?或者如何将文件直接输出到某个包中?如何动态创建包(jar中的文件夹)?或者有一种简单的方法以其他格式分发Java应用程序然后.jar然后将生成的数据存储在安装(子)文件夹中?

谢谢阅读

Mic*_*rdt 6

我想将这些文件保存在我的应用程序的安装文件(.jar文件)附近.一些用户(比如我)用于删除操作系统的默认应用程序文件夹,当涉及到大而我不希望它们丢失数据时这条路.

这(和没有写访问应用程序目录对于普通的用户账号多用户系统的概念)就是用户数据应保存在用户的主目录,而不是附近的应用程序安装文件夹中的任何地方的原因.

  • @drasto:System.getProperty("user.home")将返回目录路径. (2认同)

Ste*_*nne 5

代码

URL folderURL = ClassLoader.getSystemResource(".");
Run Code Online (Sandbox Code Playgroud)

将为搜索资源的第一个位置提供一个URL,例如您当前正在执行的类文件.