详解java配置文件的路径问题

详解java配置文件的路径问题

各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的。不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设置。

那么我们需要读取配置文件,是需要获取配置文件的路径。那么配置文件的路径怎么写呢?

1、绝对路径

绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。如果我们将配置文件的路径写成绝对路径的话,相对于各种计算机系统来说是不通用的。

2、相对路径

相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。相对路径是相对于运行当前程序的路径,一旦运行环境的改变那么相对路径也会改变。也不适合用作配置文件的路径。

3、classpath 类文件路径

就是使用classpath得路径,找对应资源文件。如果需要使用类文件路径,首先要获取一个class对象。

相关代码块:

//获取当前,Demo类的class对象

Class clazz = Demo.class;

//该方法使用的路径就是使用了类文件路径

// "/"代表了classpath 的路径

InputStream input = clazz.getResourceAsStream("/prop.proerties");

//就可以直接properties类直接加载配置文件了

properties.load(input);

以上就是对java配置文件的路径问题的详细介绍,如果大家有疑问请留言交流 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-07-20

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构 ├── main │ ├── java │ │ └── com │ │ └── test │ │ └── core │ │ ├── bean │ │ ├── Test.java │ └── resources │ └── test │ ├── test.txt └── test └── java 我们希望在Test.java中读取test.txt文件中的内容,那么我们可以借助Guava库的Resource

加载资源文件比较常用的有两种: 一.用ClassLoader,说到这里就不得不提一下ClassLoader的分类,java内置的ClassLoader主要有三种, 第一种是根类加载器(bootstrap class loader),用C++来编写,负责将一些关键的Java类,如java.lang.Object和其他一些运行时代码先加载进内存中. 所负责加载的包:BootStrp------>JRE/lib/rt.jar 第二种是扩展类加载器(ExtClassLoader),由java类编写,负责

正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资源文件 java类中需要读取properties中的配置文件,可以采用文件(File)方式进行读取: File file = new File("src/main/resources/properties/basecom.properties"); InputStream in = new

详解Java读取Jar中资源文件及实现代码 直接上代码,文章的注释部分说的比较清楚,大家可以参考下, 工具类源代码: ResourceLoadFromJarUtil.java 实现代码: import java.io.IOException; import java.io.InputStream; import java.net.JarURLConnection; import java.net.MalformedURLException; import java.net.URL; import

MyFile .java: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class MyFile { public static void SaveFile(String filename,int[][] arr){ try { File file = new File(filename); //存放数组数据的文件

一.对于java项目中文件的读取 1.使用System 或是 系统的Properties对象 ①直接是使用 String relativelyPath=System.getProperty("user.dir"); ②使用Properties对象 我们先来遍历一下系统的属性: Properties properties = System.getProperties(); Enumeration pnames = properties.propertyNames(); while (pn

人狠话不多,先上截图和代码吧. 这是工程目录.看到resources目录下面没有,添加了META-INF和services目录. 添加了一个com.gys.test.IAnimal文件.这个文件名和上面的接口名完全对应.这个目录的文件名是有讲究的,按照SPI规范来的. 上代码: package com.gys.test; public interface IAnimal { void eat(); } package com.gys.test.impl; import com.gys.test.

java自定义注解 Java注解是附加在代码中的一些元信息,用于一些工具在编译.运行时进行解析和使用,起到说明.配置的功能. 注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用.包含在 java.lang.annotation 包中. 1.元注解 元注解是指注解的注解.包括  @Retention @Target @Document @Inherited四种. 1.1.@Retention: 定义注解的保留策略 @Retention(RetentionPolicy.SOURCE) //注解仅

本文主要研究的是web项目下读取classpath路径下的文件的问题,具体如下. 首先分两大类按web容器分类 一种是普通的web项目,像用Tomcat容器,特点是压缩包随着容器的启动会解压缩成一个文件夹,项目访问的时候,实际是去访问文件夹,而不是jar或者war包. 这种的无论你是用获取路径的方法this.getClass().getResource("/")+fileName 获取流的方法this.getClass().getResourceAsStream(failName);

类加载机制 类加载器负责加载所有的类,系统为所有被载入内存中的类生成一个 java.lang.Class 实例.一旦一个类被载入 JVM 中,同个类就不会被再次载入了.现在的问题是,怎么样才算"同一个类"? 正如一个对象有一个唯一的标识一样,一个载入 JVM 中的类也有一个唯一的标识.在 Java 中,一个类用其全限定类名(包括包名和类名)作为标识:但在 JVM 中,一个类用其全限定类名和其类加载器作为唯一标识.例如,如果在 pg 的包中有一个名为 Person 的类,被类加载器 Cl

Unicode的编码和实现 大概来说,Unicode编码系统可分为编码方式和实现方式两个层次. 编码方式 字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值."A"是一个字符,"€"也是一个字符.字符集是字符的集合.编码字符集是一个字符集,它为每一个字符分配一个唯一数字. Unicode 最初设计是作为一种固定宽度的 16 位字符编码.也就是每个字符占用2个字节.这样理论上一共最多可以表示216(即65536)个字符.上述16位统一码字符构成基

此例子,用于说明如何在Java中对"注解 Annotation"的定义.使用和解析的操作.注解一般用于自定义开发框架中,至于为什么使用,此处不作过多说明,这里只说明如何使用,以作备记.下面例子已测试,可以正常运行通过. 1.注解自定义. 这里定义两个注解,分别用来注解类和注解属性. package cc.rulian.ann; import java.lang.annotation.ElementType; import java.lang.annotation.Retention;

java 配置文件的路径_详解java配置文件的路径问题相关推荐

  1. java 配置文件配置路径_详解java配置文件的路径问题

    详解java配置文件的路径问题 各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的.不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设置. 那么我们需要读取配置文件, ...

  2. java的注解方式_详解Java注解的实现与使用方法

    详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四 ...

  3. java访问本地文件_详解Java读取本地文件并显示在JSP文件中

    详解Java读取本地文件并显示在JSP文件中 当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片.其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相 ...

  4. java使用集合存储过程_详解java调用存储过程并封装成map

    详解java调用存储过程并封装成map 发布于 2020-5-1| 复制链接 摘记: 详解java调用存储过程并封装成map           本文代码中注释写的比较清楚不在单独说明,希望能帮助到大 ...

  5. java同步异步调用_详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,jsPwwCe它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消 ...

  6. java 死锁 内存消耗_详解Java中synchronized关键字的死锁和内存占用问题

    先看一段synchronized 的详解: synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并 ...

  7. java 线程一直运行状态_详解JAVA 线程-线程的状态有哪些?它是如何工作的?

    线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在. 一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源.更加轻量化,也因 ...

  8. java注解 源码_详解Java注解教程及自定义注解

    详解Java注解教程及自定义注解 更新时间:2016-02-26 11:47:06   作者:佚名   我要评论(0) Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个 ...

  9. java集合for循环_详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...

最新文章

  1. QButtonGroup 的使用
  2. linux用echo重定向到文件,Linux – Bash将String重定向到文件
  3. 转:SUSE下与RHEL下yum相似的RPM包管理工具zypper
  4. ajax异步通讯 遮罩滚动栏,防止并发及误操作
  5. 02.操作系统概述.md
  6. leetcode题解20-有效的括号
  7. Python面试题汇总
  8. java解决中文乱码的几种写法
  9. 新华三PRIMERA,开启存储新纪元
  10. 谷歌五笔输入法电脑版_一种比拼音打字更快的输入法,为何却很少有人用
  11. 群控源码源代码,微群控系统源码的实现原理,核心源码实现 核心框架,可二次开发
  12. ARM 体系架构及其工作原理
  13. 【渝粤题库】陕西师范大学200531 英语测试 作业(高起本、专升本)
  14. 此计算机未安装程序,此计算机上未安装 Windows 组件 Server-Gui-Mgmt-Infra
  15. OpenLayers使用高德导航接口实现动画animate
  16. 三点共线,向量计算其中一点坐标
  17. DevOps 工程师需要必备哪些技能?
  18. 全网详解如何设计数据库的ER图,即实体关系图
  19. 【云原生之k8s】kubeadm搭建k8s集群
  20. C语言之复合类型下卷(十九)(自然法则)(2023)

热门文章

  1. KVM-Arch-Figure
  2. 【HTML+CSS网页设计与布局 从入门到精通】第6章-标题h1,h1字体格式的设置方式
  3. 排序算法:选择排序、插入排序、希尔排序
  4. AccessibilityService的具体应用场景
  5. java工程师面试宝典_【Java工程师面试宝典】学习说明_互联网校招面试真题面经汇总_牛客网...
  6. Unity2017.3来了!洪流学堂第一时间送上更新日志简报
  7. mysql查出倒序第一条数据_[数据库]mysql 记录根据日期字段倒序输出
  8. C#中的WebSocket服务器
  9. MongoDB教程——第3天(性能——索引)
  10. Ubuntu 19.10 将于本月结束生命周期