properties文件(实时变化) 能否 通过java代码 实时加载

问题描述

properties文件(实时变化) 能否 通过java代码 实时加载 网上搜了一些解析properties文件的方法,第一次可以正确解析出来但是当properties文件变化时,再去解析发现结果还是第一次的结果,并没有变化代码如下 // 生成输入流 InputStream ins=this.class.getResourceAsStream("../config/config.properties"); // 生成properties对象 Properties p = new Properties(); try { p.load(ins); } catch (Exception e) { e.printStackTrace(); }

解决方案

// 用这种试下。in = new BufferedInputStream(new FileInputStream(file));
解决方案二:
思路很简单。每次读的时候判断properties文件的时间戳进行对比,如果properties文件的时间戳已变,则重新加载一遍properties文件到内存...
解决方案三:
问题出在this.class.getResourceAsStre("../config/config.properties"); 用getResourceAsStre读取文件之后,会把文件存在内存中缓存中,后来每一次读取都是读取内存中的内容了,如果时时加载的话不要用带缓存流就可以解决你这个问题了

时间: 2024-11-02 08:38:19

properties文件(实时变化) 能否 通过java代码 实时加载的相关文章

利用Java注解特性加载属性文件(properties)的值到Java类

在此之前我都是写个PropertyUtil类来加载配置文件,然后通过get方法,把key对应的值取出来. Spring提供一个PropertyPlaceholderConfigurer类,可以读取配置文件,然后在Spring配置文件通过${hibernate.dialect}这种方式注入到JavaBean中,有个不好的地方就是,要在代码中取的时候不是很方便. 然后在接触到Java注解特注解技术以后,感觉这个东东很好,hibernate映射,WebService都可以通过注解来完成,方便的很多,然

java如何动态加载.java文件

问题描述 java如何动态加载.java文件 运行的web工程(tomcat容器),java如何动态加载.java文件! 解决方案 Java 动态加载Java 动态加载JAVA 动态加载 解决方案二: java文件最终会转化成class文件,加载java文件还是要重新部署tomcat 解决方案三: 不晓得你的意思,你的意思是tomcat容器启动的时候,指定运行某个类? 解决方案四: 如果楼主只是觉得tomcat在调试的时候修改了内容需要重新部署很麻烦,楼主可以通过双击tomcat服务,然后修改P

javac-java文件问题]错误:找不到或无法加载主类 Hello.java

问题描述 java文件问题]错误:找不到或无法加载主类 Hello.java 编写简单的Hello.java程序,在cmd命令行下用javac Hello.java命令编译没有问题,可以生成Hello.class文件.但输入java Hello命令后(文件目录和命令目录一致),提示错误:"找不到或无法加载主类 Hello.java".安装配置如下JAVA_HOME D:Javajdk1.8.0_45path .;%JAVA_HOME%bin;classpath .;%JAVA_HOME

antlr g文件-java中如何加载后缀为g的语法文件?

问题描述 java中如何加载后缀为g的语法文件? 我是在netbeans7.4下开发的,java版本为jdk1.7.0_51.在类文件中引用了两个类,分别是 JSHOP2Lexer和JSHOP2Parser,而这两个类是在一个JSHOP.g的文件中定义的,这个文件已经导入,但是属性显示不能识别,在我的类文件中也显示这两个类"找不到符号". 请问在netbeans中如何导入.g文件中定义的类呢? JSHOP.g文件是用基于antlr.jar写的语法文件,是JSHOP2项目的(http:/

jsp页面中的代码执行加载顺序介绍

 本篇文章主要是对jsp页面中的代码执行加载顺序进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js.   2. js在jsp中的加载顺序   页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载.所以js加载的顺序也就是页面中<script>标签出现的顺序.<scrip

jvm系列(一):java类的加载机制

java类的加载机制   1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口. 类加载器并不需要等到某个类被"首次主动使用"时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载

java接口程序加载到MyEclipse部署tomcat传输数据到JBOSS平台数据传不过去

问题描述 java接口程序加载到MyEclipse部署tomcat传输数据到JBOSS平台数据传不过去 下午 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLoggingWARNING: Interceptor for {webService.OuterOrderMamService}OuterOrderMamServiceImplService#{webService.OuterOrderMamService}getMamInfo ha

java 中类的加载顺序(转)

1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法:再执行本类继承的子类的初始化块,最后是子类的构造方法 4.类实例销毁时候,首先销毁子类部分,再销毁父类部分 public class Parent { public static int t = parentStaticMethod2(); { System.out.

Java中类的加载顺序剖析(常用于面试题)_java

这其实是去年校招时我遇到的一道阿里巴巴的笔试题(承认有点久远了-.-),嗯,如果我没记错的话,当时是作为Java方向的一道选做大题.当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中程序是题目给的,而各个System.out.println的执行顺序不同会导致最后程序输出的结果也不同. 具体的题目我肯定记不清,不过我们可以换个直接的问法,如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A