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的配置文件,各种语言都有自己所支持的配置文件, ...
随机推荐
- TensorFlow之卷积函数(conv2d)
卷积函数是卷积神经网络(CNN)非常核心和重要的函数,在搭建CNN时经常会用到,因此较为详细和深入的理解卷积函数具有十分重要的意义. tf.nn.conv2d(input, filter, strid ...
- 从零开始搭建实验室Ubuntu服务器 | 深度学习工作站
一个标准的数据分析码农必须要配一台超薄笔记本和一台高性能服务器,笔记本是日常使用,各种小问题的解决,同时也是用于远程连接终端服务器:高性能服务器就是核心的处理数据的平台,CPU.内存.硬盘容量.GPU ...
- Kali Linux之速会BEEF & XSS攻击
beef 安装指南:https://github.com/beefproject/beef/wiki/Installation 升级ruby指南:https://www.cnblogs.com/waw ...
- 【mybatis源码学习】mybatis的结果映射
一.mybatis结果映射的流程 二.mybatis结果映射重要的类 1.org.apache.ibatis.executor.resultset.ResultSetWrapper(对sql执行返回的 ...
- mariadb 10.2/mysql 8.0实现递归
借助mysql 8.0的cte(它是iso sql标准的一部分),可以实现递归,mariadb 10.2.2开始支持递归cte,如下: +----+----------+--------------+ ...
- (十三)GBDT模型用于评分卡模型python实现
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- Pandas进阶之DataFrame多级索引
多级索引:在一个轴上有多个(两个以上)的索引,能够以低维度形式来表示高维度的数据.单级索引是Index对象,多级索引是MultiIndex对象. 一.创建多级索引 方法一:隐式创建,即给DataFra ...
- SQL多个逗号分开的字段值 取对应的数据名称信息
字段值 函数实现: )) ) as begin set @strs=','+@strs+',' ) ) set @str2='' declare SyncOrderCursor cursor for ...
- RabbitMQ整合Spring Booot【点对点模式】
pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...
- [报错处理]Python Requests - No connection adapters
出错信息很清楚:Python请求 - 没有连接适配器. 你得把网络协议加进入网址: http://192.168.1.61:8080/api/call 没有 http:// 请求不知道如何连接远程. ...