共享Java对象流

共享Java对象流,java,stream,Java,Stream,我有一个项目要和另外两个同学做。 我们使用Dropbox来共享项目,这样我们就可以在家里写东西了(这不是一个很好的选择,但它很有效,而且比使用GitHub更容易) 我现在的问题是关于共享对象流。 我想把流的文件放在代码的同一个dropbox共享目录中。 但是,当我初始化文件时 File f = new File(PATH); 我必须使用计算机的路径(C:\User**Alessandro**\Dropbox) 正如你所见,它与亚历山德罗相连,也与我的电脑相连。 这显然无法在另一台PC上运行。

我有一个项目要和另外两个同学做。 我们使用Dropbox来共享项目,这样我们就可以在家里写东西了(这不是一个很好的选择,但它很有效,而且比使用GitHub更容易)

我现在的问题是关于共享对象流。 我想把流的文件放在代码的同一个dropbox共享目录中。 但是,当我初始化文件时

File f = new File(PATH);
我必须使用计算机的路径(C:\User**Alessandro**\Dropbox) 正如你所见,它与亚历山德罗相连,也与我的电脑相连。 这显然无法在另一台PC上运行。 如何让编译器只查看源代码/.class文件的同一目录?

您可以使用获取与Java程序类路径相关的文件位置相对应的
URL

URL url = getClass().getResource("/path/to/the/file");
File file = new File(url.getPath());
请注意,
/
是类路径的根,它是包含类文件的目录的顶部。因此,您的资源应该放在类路径中的某个位置,以便它在您朋友的计算机上工作

您可以使用获取与文件相对于Java程序类路径的位置相对应的
URL

URL url = getClass().getResource("/path/to/the/file");
File file = new File(url.getPath());

请注意,
/
是类路径的根,它是包含类文件的目录的顶部。因此,您的资源应该放在类路径中的某个位置,以便它在您朋友的计算机上工作

不要使用绝对路径。使用相对路径,如
/myfile.txt
。以项目目录作为当前目录启动程序。(这是Eclipse中的默认设置。)但您必须确保这既适用于开发,也适用于生产使用


或者,您可以创建属性文件并在其中定义路径。然后,代码只引用属性名称,每个开发人员都可以调整配置文件。请参阅文档。

不要使用绝对路径。使用相对路径,如
/myfile.txt
。以项目目录作为当前目录启动程序。(这是Eclipse中的默认设置。)但您必须确保这既适用于开发,也适用于生产使用


或者,您可以创建属性文件并在其中定义路径。然后,代码只引用属性名称,每个开发人员都可以调整配置文件。请参阅文档。

这可能与此问题重复:-我认为您应该在此处找到答案。使用Dropbox共享代码也是一个非常糟糕的主意。尝试github或Bitbucket共享您的代码,因为这将防止版本控制问题您的问题不是很清楚。在本主题中,您讨论了“对象流”,最后的问题是在不使用绝对路径的情况下引用文件?!编译器与此有什么关系?这可能是这个问题的重复:-我想你应该在这里找到答案。使用Dropbox共享代码也是一个非常糟糕的主意。尝试github或Bitbucket共享您的代码,因为这将防止版本控制问题您的问题不是很清楚。在本主题中,您讨论了“对象流”,最后的问题是在不使用绝对路径的情况下引用文件?!编译器与此有什么关系?