Java FileOutputStream:相对于程序文件夹的路径?

Mar*_*oDS 4 java file path fileoutputstream

查找相对于“安装”Java 应用程序的文件夹的路径的最佳方法是什么?

我有一个带有静态方法的类: public static void saveToFile(String fileName)

当我用绝对路径调用它时,它可以工作,但我真正想要的是运行应用程序的位置的相对路径和文件夹。

我还没有部署我的应用程序,但现在我想找到一个相对于(Netbeans)项目根目录的路径,以及一个名为 data 的文件夹:ProjectName\data\file.dat。我应该使用这个File类还是把它变成一个URI或什么的?

请注意,我更喜欢它独立于系统,并且在部署应用程序时仍然可以工作。最终(相对)路径名将存储在属性文件中。

对不起,如果这个问题是重复的,任何帮助表示赞赏。

And*_*son 5

查找相对于“安装”Java 应用程序的文件夹的路径的最佳方法是什么?

长期以来,操作系统制造商一直在说不要在应用程序目录中保存文件。

请注意,我更喜欢它与系统无关,并且如果部署了应用程序,它仍然可以工作。

而是将 放入Fileasub-directoryuser.home。用户家是应该可以建立可以读取或写入的文件对象的地方。它也是一个可以跨运行重现的地方,并且与平台无关。