共享Java对象流

时间:2016-06-16 09:04:27

标签: java stream

我和另外两个同学有一个项目。 我们使用Dropbox分享项目,这样我们就可以在我们的房子里写信(Isn是一个非常好的选择,但它比使用GitHub更容易,更容易)

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

File f = new File(PATH);

我必须使用计算机的路径(C:\ User ** Alessandro ** \ Dropbox) 正如你所看到的,它与Alessandro有关,所以我的电脑也是如此。 这显然不会在另一台PC上工作。 如何告诉编译器只查看源代码/ .class文件的同一目录?

2 个答案:

答案 0 :(得分:3)

您可以使用Class#getResource(java.lang.String)获取与 relative 文件位置相对应的URL到Java程序的类路径:

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

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

答案 1 :(得分:2)

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

作为替代方案,您可以创建属性文件并在那里定义路径。然后,您的代码仅引用属性名称,每个开发人员都可以调整配置文件。请参阅Properties文档。