首页 > 编程语言 >java.lang.NullPointerException:inStream parameter is null错误的解决办法

java.lang.NullPointerException:inStream parameter is null错误的解决办法

时间:2022-09-28 10:23:41浏览次数:54  
标签:lang java 读取 配置文件 properties Properties new config inStream

利用getClassLoader()加载文件,应该是启动程序后,没有找到配置文件,无法加载,自然也获取不到属性;

原因:ClassLoder()读取配置文件,只能读取类路径下的配置文件,所以一般需要将配置文件放在类路径目录下。

解决:获取的路径应该选择Path From Source Root,根目录下的路径;(右击属性文件,copy path里选择复制)

1     // 1.读取配置文件中的4个基本信息
2     InputStream is = Class1_ConnectTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
3     // 2.加载配置文件中的数据
4     Properties pros = new Properties();
5     pros.load(is);

其他方式读取:inputstream()读取配置文件,该方式的优点在于可以读取任意路径下的配置文件。

1     Properties pro = new Properties();
2 
3     // 使用InPutStream流读取properties文件
4     BufferedReader bufferedReader = new BufferedReader(new 
5     FileReader("config.properties"));
6     pro.load(bufferedReader);
7 
8     // 获取key对应的value值
9     pro.getProperty(String key);

在使用中遇到的最大的问题可能是配置文件的路径问题:

  如果配置文件在当前类所在的包下,那么需要使用包名限定;

  如:config.properties若在com.test.config包下,则要使用com/test/config/config.properties(通过Properties来获取);

    属性文件在src根目录下,则直接使用config.properties或config;
    

 

标签:lang,java,读取,配置文件,properties,Properties,new,config,inStream
From: https://www.cnblogs.com/LinxhzZ/p/16737072.html

相关文章

  • 计算机毕设选题新颖推荐 springboot+vue心理咨询预约系统 ssm校园心理咨询平台 java心
    ......
  • Java中的异步与线程池 保姆级教学
    Java中的异步与线程池保姆级教学2022-09-2509:10·Java架构师鸨哥初始化线程的4种方式1、继承ThreadThread01thread01=newThread01(); thread01.start();......
  • 3&4.javascript
                        ......
  • java算法学习——选择排序算法
    研究生生活开始后,充分认识到算法的重要性,开始重拾java算法——视频参照哔哩哔哩左神——https://www.bilibili.com/video/BV13g41157hK/?p=4&spm_id_from=333.880.my_hist......
  • java类加载器?
    Java类加载器ClassLoader总结JAVA类装载方式,有两种:1.隐式装载,程序在运行过程中当碰到通过new等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。2.显式装载,通过cla......
  • 狂神说Java流程控制
    用户交互Scannerscanner对象之前我们学的基本语法中并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的......
  • 记一次使用spring javaconfig踩到的坑
    前言为了简化开发,我部门经常会封装一些通用的类库给业务研发使用,因为业务方的根包路径很经常和我们部门项目的根包是不一样的,因此我们会让业务方在使用我们封装的包时,扫描......
  • Java线程同步的四种方式详解(建议收藏)
    ​ Java线程同步属于Java多线程与并发编程的核心点,需要重点掌握,下面我就来详解Java线程同步的4种主要的实现方式@mikechen目录什么是线程同步线程同步的几种方式......
  • 尚硅谷-JavaWeb CSS
    1.CSS:层叠样式表单,用于(增强)控制网页样式并允许将样式信息域网页内容分离的一种标记性语言;2.CSS和HTML的组合方式:第一种:在标签的style属性上设置"key:valuevalue",......
  • JAVA丑数
    leetcode题目链接有些数的素因子只有3,5,7,请设计一个算法找出第k个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是1,3,5,7,9,15,21。......