JAVA - 普通类读取WEB-INF里面配置文件
服务器:Tomcat 9
注意问题:配置文件应该放入Tomcat的正式工程目录中测试。
可用代码:
package com.daoen.rtis.test; import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Properties; public class Test { public void GetPro() { try { String fileName = "db.txt";// property文件名
String filePath = getWebPath(fileName);// 得到property文件在web工程里的全路径名称 System.out.println(filePath); Reader myReader = new FileReader(fileName);// 读取property文件 Properties prop = new Properties();// 创建Properties类
prop.load(myReader);// 用Properties类对象加载文件 System.out.println(prop.getProperty("ip"));
System.out.println(prop.getProperty("port"));
System.out.println(prop.getProperty("user"));
System.out.println(prop.getProperty("password")); myReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} // 得到web容器路径
// 注意:要在正式发布的web工程里面加入文件,不能在源代码工程里测试。
public static String getWebPath(String fileName) {
// file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/
String path = Thread.currentThread().getContextClassLoader().getResource("").toString(); // 去掉返回路径中各种不需要的东西
path = path.replace('/', '\\'); // 将/换成\
path = path.replace("file:", ""); // 去掉file:
// path = path.replace("classes\\", ""); // 去掉class\
path = path.substring(1); // 去掉第一个\,如 \D:\JavaWeb... // 如果有文件名,则在路径上加入文件名
if (fileName.isEmpty() == false) {
path += fileName;
} return path;
} }
参考:
https://blog.csdn.net/shokuninn/article/details/53808629
https://www.cnblogs.com/lingtiaoti/p/9500322.html
JAVA - 普通类读取WEB-INF里面配置文件的更多相关文章
- java properties类读取配置文件
1.JAVA Properties类,在java.util包里,具体类是java.util.properties.Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值 ...
- 读取web外的配置文件
一般web项目配置文件都放在classPath下面,读取的时候: 1 import java.io.InputStream; 2 import java.util.Properties; 3 publ ...
- Java配置方式读取外部的资源配置文件
通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context. ...
- Java File类读取文件属性
package myjavademo;import java.io.*; publicclass MyJavaDemo { public static void main(String[] ...
- java.util.ResourceBundle 读取国际化资源或配置文件
1.定义三个资源文件,放到src的根目录下面 命名规范是: 自定义名_语言代码_国别代码.properties 默认 : 自定义名.properties 2.资源文件都必须是ISO-8859-1编 ...
- Java 数据类型:集合接口Map:HashTable;HashMap;IdentityHashMap;LinkedHashMap;Properties类读取配置文件;SortedMap接口和TreeMap实现类:【线程安全的ConcurrentHashMap】
Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value.key和value都可以是 ...
- Java中spring读取配置文件的几种方法
Spring读取配置XML文件分三步: 一.新建一个Java Bean: package springdemo; public class HelloBean { private String hel ...
- Java基础加强-读取配置文件和内省
Java读取配置文件 1.采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. String path = "/WEB-INF/jdbc_conne ...
- 基于Java Properties类设置本地配置文件
一.Java Properties类介绍 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件, ...
随机推荐
- js中isNaN和Number.isNaN的区别
isNaN 当我们向isNaN传递一个参数,它的本意是通过Number()方法尝试将这参数转换成Number类型,如果成功返回false,如果失败返回true. 所以isNaN只是判断传入的参数是否能 ...
- MySQL日常监控及sys库的使用【转】
一.统计信息(SQL维度) 关于SQL维度的统计信息主要集中在events_statements_summary_by_digest表中,通过将SQL语句抽象出digest,可以统计某类SQL语句在各 ...
- 微信小程序开发——base64位图片显示问题
前言: 目前小程序项目需要后端借口提供验证码图片,后端是以base64位返回的,按照H5的做法,前边拼上 data:image/png;base64, 应该就可以了,关键代码如下: H5: <i ...
- post 发送方式
/** * post 方式 解码 */ public static String getWebContentByPost(String urlString, String data, final St ...
- Docker 安装 redis 并实现配置文件启动,数据文件本地持久化
1,笔者使用的是 Linux 的 Centos7 版本 2,安装 Docker,不会安装可以移步 Docker 在 Linux 平台的安装 以及一些常见命令 3,下载 docker 镜像 3.1,首 ...
- C++中print和printf的区别
print与printf的区别 1,print 中不能使用%s ,%d 或%c: 2,print 自动换行,printf 没有自动换行.
- spring项目配置双数据源读写分离
我们最早做新项目的时候一直想做数据库的读写分离与主从同步,由于一些原因一直没有去做这个事情,这次我们需要配置双数据源的起因是因为我们做了一个新项目用了另一个数据库,需要把这个数据库的数据显示到原来的后 ...
- c++基础(七)——面向对象程序设计
面向对象程序设计(Object-oriented programming)的核心思想是数据抽象,继承,和动态绑定. 1. 继承 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对 ...
- day20——规范化目录
day20 为什么要有规范化目录 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定 ...
- Nvidia Jetson TX2开发板学习历程( 2 )- 更换pip源,提高下载速度
通过将pip的源更换为国内源,来提高下载速度,这也将成为今后学习过程下载Python包的基础,建议前期一定要完成! 知名的国内源 清华:https://pypi.tuna.tsinghua.edu.c ...