Java中配置文件路径的获取

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java中配置文件路径的获取脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
最近写mybatis 突然遇到配置文件加载的问题, 正好有机会把关于java路径的问题整理一下。在下面的情况中,可以获得文件的路径, 也可以吧文件转成流以便使用。
@H_304_3@servlet 加载配置文件路径
  • 在servlet中有一个被称之为servlet上下文的东西, 这个东西很有意思简单的讲这就是一个web路径的对象。例如localhost:8080/demo/index.jsp,以/demo为根路径的servlet上下文路径被发送给web应用程序,在这里servlet上下文路径就是说这个根路径,所有jsp和servlet应用都可以获得并使用这个路径, 同时,这个路径也是最常用和最应该使用的一个路径。既然这么好用就必然有获得它的一个很好的办法,
    String path = this.getServletContext().getRealPath("xxx.file");
    通过下面这样, 你就成功的给文件读入了文件流。
    InputStream inputStream = new FileinputStream(path);
    这里的getServletContext()就是获取servlet的上下文, 而getRealPath("xxx.file");则 是为了获取文件的真实路径。通过这样也就解决了TITle中得获取配置文件的问题, 然而你说了,我不是在servlet中用的, 我是在POJO类中使用的, 你这个servlet很特殊,我总不能每次去建一个servlet来加载配置文件吧, 那好, 我们就进入下一个话题

普通java类中加载配置文件路径

  1. classloader的方式来获取配置文件路径
    String path = ClassName.class.getClassLoader().getResource("xxx.file").getPath();
    这样就得到了一个文件的路径,继而我们可以把它转化成流。
    InputStream inputStream = new FileInputStream(path);
    是不是很简单呢。
  2. 用Class类加载资文件
    InputStream inputStream = classname.class.getResourceAsStream("/error.XMl");
  • 绝对定位,“/”开头,此时即以classpath为根目录
  • 相对定位,不加“/”,则以调用getResourceAsStream类的包路径作为根目录(即该类所在包下获取资源)
q前面两种路径不过是冰山一角, 不过还是可以对学习起到一定的作用, java中得获取获取资源路径的范式数不胜数, 比如应用到框架时, 可以通过Resource类, 通过配置文件加载配置文件:classpath等等。但上面的两种方式却是java中最基本的两种方式。

脚本宝典总结

以上是脚本宝典为你收集整理的Java中配置文件路径的获取全部内容,希望文章能够帮你解决Java中配置文件路径的获取所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。