我有一个Java桌面应用程序,我已经编写好了。执行期间,我在系统中定义的默认路径名称创建文件夹和文件。
Java.io.files明确说明:
当我在XP计算机上运行我的应用程序时,在安装后我会得到一个桌面快捷方式,并且所述的文件和文件夹创建位于Izpack安装Jar的位置。这是期望的行为。
但是,当我在Vista机器上测试时,尽管Jar位于正确的位置(c:\program files..等),但是文件夹和文件却被创建在桌面上!
我希望这些文件能够在与Jar相同的文件夹中创建,绝对不能在桌面上创建。有人可以给我一些关于这里发生了什么的见解吗?
Java.io.files明确说明:
默认情况下,java.io包中的类始终根据当前用户目录解析相对路径名。该目录的名称由系统属性user.dir命名,通常是调用Java虚拟机的目录。
此外,我使用IzPack来启用安装和创建快捷方式。当我在XP计算机上运行我的应用程序时,在安装后我会得到一个桌面快捷方式,并且所述的文件和文件夹创建位于Izpack安装Jar的位置。这是期望的行为。
但是,当我在Vista机器上测试时,尽管Jar位于正确的位置(c:\program files..等),但是文件夹和文件却被创建在桌面上!
我希望这些文件能够在与Jar相同的文件夹中创建,绝对不能在桌面上创建。有人可以给我一些关于这里发生了什么的见解吗?
System.getProperty("user.home")
或System.getenv("USERPROFILE")
,并在其中使用一个特殊文件夹来存储您的Java应用程序,这样可以更轻松地为用户/应用程序更改某些内容。 - ee.