[英]Sharing a Java Object Stream
我有一个与其他2个同学一起做的项目。 我们使用Dropbox共享了项目,因此我们可以在自己的房子里写东西(这不是一个很好的选择,但它比使用GitHub更有效且更容易)
我的问题现在是关于共享对象流的。 我想将流的文件放在代码的同一保管箱共享目录中。 但是,当我初始化文件时
File f = new File(PATH);
我必须使用计算机的路径(C:\\ User ** Alessandro ** \\ Dropbox)如您所见,它与Alessandro链接,因此也与我的计算机链接。 这显然在另一台PC上不起作用。 如何才能告诉编译器仅查看源代码/.class文件的相同目录?
您可以使用Class#getResource(java.lang.String)获得一个URL
,该URL
对应于文件相对于Java程序的类路径的位置:
URL url = getClass().getResource("/path/to/the/file");
File file = new File(url.getPath());
注意这里/
是类路径的根,它是包含类文件的目录的顶部。 因此,您的资源应该放在类路径中的某个位置,以便它可以在您朋友的计算机上工作。
不要使用绝对路径。 使用相对路径,例如./myfile.txt
。 使用项目目录作为当前目录启动程序。 (这是Eclipse中的默认设置。)但是,您必须确保这对于开发和生产都有效。
或者,您可以创建一个属性文件并在其中定义路径。 然后,您的代码仅引用属性名称,并且每个开发人员都可以调整配置文件。 请参阅属性文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.