2021-02-08【Web作业开发记录】Java代码读取文件问题
【Web作业开发记录】Java代码读取文件问题
1.问题分析
在项目中需要读取properties文件,而对于gradle项目,在java文件夹底下的properties文件在编译打包时会自动忽略,最终造成NPE。
2.解决方法
对于gradle项目,与java文件夹有一个同级的文件夹resources,里面的文件在编译打包时不会忽略。通过DBUtil的Class类的getResourceAsStream方法获得访问InputStream,即DBUtil.class.getResourceAsStream(“/properties/account.properties”)再通过Properties类的load方法加载该输入流,通过Properties类的getProperty获得数据。
3. 示例代码
try {Class.forName(DRIVER_CLASS);Properties properties = new Properties();properties.load(DBUtil.class.getResourceAsStream("/properties/account.properties"));URL = properties.getProperty("url");USERNAME = properties.getProperty("username");PASSWORD = properties.getProperty("password");} catch (ClassNotFoundException | IOException | NullPointerException e) {e.printStackTrace();System.out.println("Error");System.exit(1);}
项目路径图
4. 问题反思
该问题涉及到java代码读取文件的路径问题,现在对Class Loader并不理解。在getResourceAsStream方法的文档中提到,The rules for searching resources associated with a given class are implemented by the defining class loader of the class. 这句话的具体含义无法理解。网上也有提到,形如DBUtil.class.getResourceAsStream()和DBUtil.class.getClassLoader().getResourceAsStream()在使用的时候存在区别。从源码角度看,前者是通过调用后者完成的,但前者在调用前进行了参数的处理。若以”/”开头,则去掉了该”/”,若不是以”/”开头,则认为该name是通过”.”进行分割,并进行了部分处理。
该部分有待进一步学习。
2021-02-08【Web作业开发记录】Java代码读取文件问题相关推荐
- WEB编程开发常用的代码[转]
转自:http://blog.csdn.net/goaler/archive/2005/01/13/251090.aspx 1. ASP与Access数据库连接: dim conn,mdbfile ...
- 转WEB编程开发常用的代码
WEB编程开发常用的代码 http://blog.csdn.net/goaler/archive/2005/01/13/251090.aspx 1. ASP与Access数据库连接: dim con ...
- 记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率(重复率)、筛选出差异的文件、方便文件和文档的去重,并封装为jar包
记录一下 Java 代码实现文件夹.文件的对比,主要包含 word.pdf.文本.图片等相关文件的对比计算,以及计算文本的相似率(重复率).筛选出差异的文件.方便文件和文档的去重,并把所有的源码封装为 ...
- java ftp读取文件内容_java读取ftp中TXT文件的案例
最近在开发关于java读取ftp中TXT文件,其中有些坑踩了一下,再次做个记录 1.读取文件时我会根据文件名称去生成数据库表,oracle数据库对于表名的长度是有限制的,最多30个字符 2.对于多个文 ...
- java 读取流的字符编码格式_如何使用Java代码获取文件、文件流或字符串的编码方式...
标签: 今天通过网络资源研究了一下如何使用Java代码获取文件.文件流或字符串的编码方式,现将代码与大家分享: package com.ghj.packageoftool; import info.m ...
- java scanner 读取文件_Java读取文本文件
有很多方法可以在java中读取文本文件.下面我们来逐个看看java中读取文本文件的几个方法. 在java中有很多读取文本文件的方法.文本文件由字符组成,因此可以使用Reader类.在java中读取文本 ...
- java代码删除文件__发现无法删除
java代码删除文件__发现无法删除 File file = new File(filePath);if (file.exists() && file.isFile()) {boole ...
- 怎么读取java文件,Java怎么读取文件
当前位置:我的异常网» J2SE » Java怎么读取文件 Java怎么读取文件 www.myexceptions.net 网友分享于:2013-12-20 浏览:60次 Java如何读取文件? ...
- java中读取文件的方法
总结一下java中读取文件的方法: 方法一(逐行的读取文件内容): private FileReader fileReader; private BufferedReader bufferedRead ...
最新文章
- 软工作业3:词频统计
- linux刻录光盘空间不足,linux下刻录光盘所发生的问题及解决办法
- python接口自动化测试框架unittest代码_Python+unittest+requests 接口自动化测试框架搭建教程...
- H G W S哪一个不是状态函数_HAWE哈威BVH11H/M/S/2-X24换向阀
- 首都富版本更新说明文档
- 索尼机器狗Aibo将在美国开售,智能撒娇是最甜的 |每只性格都不同
- 【愣锤笔记】基于vue的进阶散点干货
- [洛谷P1082]同余方程
- 云服务器怎么增加d盘_怎么租用美国云服务器比较便宜?
- 使用批处理文件,自动设置计算机IP地址
- Excel 2016 对数据做线性回归分析步骤
- Mathpix Snip--图片中识别公式
- 使用DevIL来加载OpenGL纹理
- 一阶线性齐次,非齐次方程的通解和解的结构定理,推导过程。
- HTV-VIVE 连接 PC端 720云
- 兆声波对硅片湿法清洗槽中水和气泡运动的影响
- 220514西南科技正式赛补题
- 中国教育大数据研究院在福州成立 倪光南任联席院长
- 人工智能算法需要运用计算机吗,什么是人工智能算法.ppt
- Katalon Recorder的简介及使用