如果有.jar

时间:2018-01-30 17:58:15

标签: java

首先,我想帮助编辑这个问题,因为我无法正确解释自己。

直接,我有一个通过套接字连接接收文件的应用程序,然后将它们保存在计算机中。问题是这个应用程序作为.jar文件运行,我不知道在FileOutputStream()方法中使用什么文件目录。我目前正在使用“C:\ Users \ My_User \ Desktop \ My_Project ...”目录,但是一旦许多客户端将使用此目录并且目录可能会丢失,这取决于客户端(其中一些可能是Linux)同样)。

如何将文件保存在.jar所在的同一位置,而不必编写整个Windows目录?

谢谢,从现在开始

2 个答案:

答案 0 :(得分:2)

假设:您正在通过双击运行可执行jar文件。

默认情况下,如果创建名为f.txt的{​​{1}}对象,没有任何特定路径,则会在运行jar的同一目录中创建文件f.txt。例如:

如果您在C:\Users\My_User\Desktop\My_Project目录中运行jar,并且您的代码创建了一个文件f.txt,如下所示:

File f = new File("f.txt");

然后f.txt的位置将为C:\Users\My_User\Desktop\My_Project\f.txt

如果您想将文件存储在用户主目录中的特定位置,Zaki的答案会有所帮助。

答案 1 :(得分:2)

您可以使用例如:

final String RESOURCES_DIR = System.getProperty(" user.dir")+ File.separator + someSpecificLocation;

然后您可以使用RESOURCES_DIR创建文件作为目录+文件的名称。这会将您的文件保存在部署应用程序的同一目录中。