Java中的资源,URI,URL,路径和文件有什么区别?
我现在正在看一段Java代码,它采用路径作为String并使用来获取其URL URL resource = ClassLoader.getSystemClassLoader().getResource(pathAsString);,然后调用String path = resource.getPath()并最终执行new File(path);。 哦,还有URL url = resource.toURI();和的电话String file = resource.getFile()。 我现在很困惑-我猜主要是因为术语。有人可以请我介绍这些差异,还是提供一些指向虚拟模型的材料的链接?尤其是URL的URI和文件的资源?对我来说,感觉它们应该分别是同一回事... getFile()和之间的区别在getPath()这里解释:url.getFile()和getpath()有什么区别?(有趣的是,它们似乎都返回字符串,这可能使我的思想状态大增……) 现在,如果我有一个引用jar文件中的类或包的定位器,这两个(即文件字符串的路径)是否会有所不同? resource.toString()jar:file:/C:/path/to/my.jar!/com/example/毕竟会给你(注意感叹号)。 Java中URI和URL 之间的区别是前者不对空格进行编码吗?cf. Java中的文件,URI和URL发生冲突(此答案很好地解释了这两个术语之间的一般性概念上的区别:URI标识和URL定位;) 最后,也是最重要的是,为什么我需要File对象?为什么资源(URL)不够?(并且有一个Resource对象吗?) 抱歉,这个问题有点混乱。它只是反映了我的困惑... :)