以下路径之间的区别?

时间:2012-12-12 10:40:00

标签: java spring

我在属性文件中配置了以下路径。

C:/folder/file.xml
file:/folder/file.xml

我在Spring应用程序上下文文件中引用的上述两个路径之一。我的问题是difference between these two paths是什么?

谢谢!

4 个答案:

答案 0 :(得分:4)

在Windows上,两者都指向同一目录。在基于* nix的系统上,第一个系统不起作用。所以第二个更普遍,应该用于第一个。

答案 1 :(得分:1)

使用相对路径始终是更好的做法。它使代码更加可用,因为应用程序的相对文件夹结构不会更改,无论您使用的是哪个平台或计算机。但它只有在相对路径正确时才有效,不像绝对路径只要路径正确就可以工作。

答案 2 :(得分:1)

C:/folder/file.xml是完全限定的文件名 file:/folder/file.xml是一个URI,对于访问网络文件URI时未使用file:/// file:/的本地文件,它应为file://

URI不仅仅是Java的东西。 file://表示资源是文件,而不是HTTP资源等。

答案 3 :(得分:0)

文件前缀让spring知道正在寻找文件,而不是类路径资源,http或ftp资源。

  

UrlResource包装了一个java.net.URL,可用于访问任何一个   通常可通过URL访问的对象,例如文件,HTTP   目标,FTP目标等。所有URL都有标准化的字符串   表示,使用适当的标准化前缀   从另一个表示一种URL类型。这包括file:for   访问文件系统路径,http:用于通过HTTP访问资源   protocol,ftp:用于通过FTP等访问资源