分发我的Java应用程序,如何管理目录

时间:2012-11-20 05:45:35

标签: java swing deployment distribution

我的java应用程序几乎已经完成,现在我给它一个画龙点睛。虽然某些代码需要从计算机上的特定目录中读取数据。在我的机器上,我用以下方式做到了:

FileOutputStream fos=new FileOutputStream(C:/User/AnirudhVarma/Document/Appname/foldername/file,true);

但是在用户机器上,我如何确保它在以下目录中创建它?

C:/enduser/appname/folder/file

2 个答案:

答案 0 :(得分:2)

代码中的硬编码文件夹结构是非常糟糕的主意。

处理此问题的一种方法是:

您需要具有类似于用户需要输入所需文件夹路径的属性文件。在安装文档中将其作为要求提及。

在您的代码中,您需要确保文件夹在继续之前具有所需的内容。如果无效文件夹,只显示错误消息,并提供正确的信息以设置目录路径。

答案 1 :(得分:1)

System.getProperty("user.dir")将在您的计算机上返回C:/User/AnirudhVarma。从那里,我建议你需要考虑这个平台。在Windows下,您应该将此类信息存储到AppData文件夹中。

所以你最终会得到像System.getProperty("user.dir") + File.seperator + "AppData/Appname/foldername/file"

这样的东西

在MacOS下,我认为惯例是使用.AppName代替System.getProperty("user.dir") + File.seperator + ".Appname/foldername/file"