获取tomcat上properties文件的内容——方便文件存储位置的修改,解耦和
在java web开发的时候经常会用到读取读取或存放文件,这个文件的默认路径在哪里呢?写死在程序里面显然是可以的,但这样子不利于位于,假如有一天项目从window移植到linux,或者保存文件的路径变了,就需要去源代码中查找,进行替换,这样子不仅效率低,而且程序的耦合度也会过高,这里我用了一个properties文件用于存放文件的保存路径,需要保存或者读取都来自己properties所保存的路径。
1、我存放的propeities文件路径
因为linux和window上面的分盘是不一样的,所以我把保存文件路径的properties文件放在项目中,所以可以通过获取tomcat所以路径来获取该文件
aaarticlea/png;base64,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" alt="" />
2、properties文件内容
这里文件路径我使用了 / ,可以兼容linux系统和window,假如在程序中文件的分隔符建议使用File.separator作为分隔符,以兼容不同的操作系统。
- filePath=E:/file
3、获取文件所在的路径
- String dir = System.getProperty("user.dir"); //获得tomcat所在的工作路径
- System.out.println(dir);
- //获取到存储了文件存储位置的filedir.properties 文件路径
- String dir2 = dir.substring(0, dir.length()-4) + File.separator +"webapps" + File.separator + "NGBOSSmonitor" +File.separator + "WEB-INF"
- + File.separator + "classes" + File.separator + "META-INF" + File.separator + "config" + File.separator + "filedir.properties";
dir 获取到的是 :D:\Tocat\tomcat6.0.37\bin
我获取的dir2 为 D:\Tocat\tomcat6.0.37\webapps\你的项目名\WEB-INF\classes\META-INF\config\filedir.properties
4、通过properties文件,获取到里面的filePath的值,即获得 E:/file
- /**
- * 获取filePath路径【properities文件】中key对应的值,
- * @param filePath properities文件路径【包含properities文件】
- * @param key 要查找的key值
- * @return key对应的value
- */
- public String GetValueByKey(String filePath, String key) {
- Properties pps = new Properties();
- try {
- InputStream in = new BufferedInputStream (new FileInputStream(filePath));
- pps.load(in);
- String value = pps.getProperty(key);
- //System.out.println(key + " = " + value);
- in.close();
- return value;
- }catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
到达这里,已经完整得获得了filedir.properties 里面得 filePath的值。
5、总结
开发过程中,使程序解耦合很重要,耦合程度越低,我们开发修改越容易。
致谢:感谢您的耐心阅读!
获取tomcat上properties文件的内容——方便文件存储位置的修改,解耦和的更多相关文章
- C# winform或控制台Properties.Settings.Default的使用及存储位置
C# winform或控制台Properties.Settings.Default的使用及存储位置 作者的程序 是MmPS.ClientForm.exe,使用Properties.Settings.D ...
- SpringBoot学习:获取yml和properties配置文件的内容
项目下载地址:http://download.csdn.net/detail/aqsunkai/9805821 (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @Configu ...
- SpringBoot学习:获取yml和properties配置文件的内容(转)
项目下载地址:http://download.csdn.net/detail/aqsunkai/9805821 (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @Configu ...
- SpringBoot学习:获取yml和properties配置文件的内容(转)
项目下载地址:http://download.csdn.net/detail/aqsunkai/9805821 (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @Configu ...
- MFC_VC++_时间获取与保存列表控件内容到文件操作方法
MFC_VC++_时间获取与保存列表控件内容到excel文件操作方法 void CDataView::OnBnClickedBtnExporttoexcel() { CTime time = CTim ...
- java文件相关(文件追加内容、文件内容清空、文件内容读取)
https://blog.csdn.net/xnz0616/article/details/39137177 1.文件内容追加 // 在已有的文件后面追加信息 public static void a ...
- mysql数据库文件的真实的物理存储位置
在MySQL客户端输入如下命令:show global variables like "%datadir%"; 一定要在最后加上英文的分号.
- php 写内容到文件,把日志写到log文件
php 写内容到文件,把日志写到log文件 <?php header("Content-type: text/html; charset=utf-8"); /******** ...
- 快速php日志,写内容到文件,把日志写到log文件
php 写内容到文件,把日志写到log文件 //记录日志:要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个.log.txt位置在项目的根目录下. $file = 'log.txt' ...
随机推荐
- linq之where子句
在Linq中,where子句主要是来指定筛选元素的逻辑条件.linq查询中where子句不是必须的,可以不包括where子句,也可以包含多个where子句,where子句中可以包含一个或多个bool类 ...
- bootstrap - table
http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
- Jquery的画图插件-jqPlot+
JqPlot(个人和商业都免费) http://yunpan.cn/Q7Yh5dUNPjtak 提取码 3653 下面开始制作一个柱状图: ----------------------------我 ...
- linux下的inode记录
我们经常在Linux下可以看到inode,都不知道是什么东东,那么我们现在来慢慢了解下. 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做&q ...
- PHP学习笔记:删除与销毁session
删除某个session值可以使用PHP的unset函数,删除后就会从全局变量$_SESSION中去除,无法访问. session_start(); $_SESSION['name'] = 'jobs' ...
- java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect
java.sql.SQLException: null, message from server: “Host ‘xxx’ is not allowed to connect 2014年06月29日 ...
- 六个创建模式之工厂方法模式(Factory Method Pattern)
问题: 在使用简单工厂模式的时候,如果添加新的产品类,则必需修改工厂类,违反了开闭原则. 定义: 定义一个用于创建对象的接口,让子类决定具体实例化哪个产品类.此时工厂和产品都具有相同的继承结构,抽象产 ...
- Cookies简介和使用
Cookie public class javax.servlet.http.Cookie 1作用(1)Cookie能使站点跟踪特定访问者的访问次数.最后访问时间和访问者进入站点的路径(2)Cook ...
- js封装tab标签页
<html> <head> <title></title> <meta charset="UTF-8"> <sty ...
- Javascript一些小细节
1.判断class存在 $(obj).hasClass('BTCheck_ON') $obj.attr('class')=="BTCheck_ON" 有时我们判断样式存在会写成第二 ...