我在属性文件中配置了以下路径。
C:/folder/file.xml
file:/folder/file.xml
我在Spring应用程序上下文文件中引用的上述两个路径之一。我的问题是difference between these two paths
是什么?
谢谢!
答案 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等访问资源