栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中项目文件夹的绝对路径

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中项目文件夹的绝对路径

实际上,您应该通过类加载器使用getResource()或getResourceAsStream()来进行此类操作。特别是,这些方法使用ClassLoader来确定项目内资源的搜索上下文。

指定类似

getClass().getResource("lib/txtfile.txt")
的内容以拾取文本文件。

需要澄清的是:与其考虑如何获取资源的路径,不如考虑获取资源的方法-
在这种情况下,该文件位于某个目录(可能在您的JAR内部)中的文件中。在这种情况下,不必知道某些绝对路径,只需知道一些URL即可获取文件,ClassLoader会为您返回此URL。如果您想打开文件流,则可以直接执行此操作,而无需使用来弄乱URL

getResourceAsStream

您试图通过ClassLoader访问的资源必须位于Class-Path(在JAR文件的清单中配置)上。这很关键!ClassLoader使用Class-
Path查找资源,因此,如果您没有在Class-
Path中提供足够的上下文,它将无法找到任何内容。如果您添加

.
了ClassLoader,则应该根据引用资源的方式来解析JAR内部或外部的所有内容,尽管您当然可以更加具体。

引用带有前缀的资源

.
将导致ClassLoader也在JAR文件之外查找文件,而没有为资源路径加上句点前缀将指示ClassLoader仅在JAR文件内部查找文件。

这意味着,如果你有一些文件 的目录中JAR

lib
与名称
foo.txt
,你想要得到的资源,那么你会运行
getResource("lib/foo.txt");

如果相同的资源不在JAR中,则运行

getResource("./lib/foo.txt");



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496980.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号