导航:首页 > 编程语言 > java修改properties

java修改properties

发布时间:2022-09-24 22:44:30

A. javaweb 修改properties文件中的属性值

String realPath1 = getServletContext().getRealPath("/");//这样你就得到了 你的CLASS目录 然后再拼装即可 试用于非WAR包
String realPath2 = getServletContext().getResource("/").getPath();//试用于所有
上面的都是获取到了CLASS目录 也就是你工程编译后的目录 然后再根据目录层级拼装即可
注意 web项目部署到服务器后 用你之前的方式是拿不到文件的 因为部署到服务器上面后的目录都变了 而且文件都放入CLASS目录下面了 所以你那错的

B. java 修改properties文件 顺序乱掉

java的Properties类继承自HashTable。HashTable都很熟悉,这是一个存放键值对,基于hash表存储的,所以说顺序也是不固定的。因此只要使用java自带的Properties工具类读写properties文件的都是顺序不可预知的。如果想实现有顺序的方式可以自定义一个类,使用LinkedHashMap做为父类来实现,这样效率就没那么高了。

使用有顺序的键值对的方式存储数据推荐使用jdk中提供的LinkedHashMap。这个工具类是基于链表的形式存储键值对数据。存放的数据和获取的顺序都是一致的。

C. java修改properties文件 丢失内容

我注意到你写的这句FileOutputStream fos=new FileOutputStream(resourceFile);运行时会马上覆盖掉原有的内容,因此你这句话应该移到将键值对载入完成后。


修改如下,测试通过。


/**
*新增或修改资源文件的内容
*
*@paramresourceFile
*资源文件(绝对路径+文件名,不需要.properties后缀)
*@paramkey键
*@paramvalue值
*/
publicstaticvoidsetString(StringresourceFile,Stringkey,Stringvalue){

Propertiesprop=newProperties();
try{
if(resourceFile.indexOf(".properties")==-1){
resourceFile+=".properties";
}
FileInputStreamfis=newFileInputStream(resourceFile);
try{
prop.load(fis);
fis.close();
prop.setProperty(key,value);
FileOutputStreamfos=newFileOutputStream(resourceFile);
prop.store(fos,"CopyrightThcic");
fos.close();
}catch(IOExceptione){
e.printStackTrace();
System.out.println("修改资源文件:"+resourceFile+"异常!msg:"+e.getMessage());
}

}catch(FileNotFoundExceptione){
e.printStackTrace();
System.out.println("无法获得资源文件:"+resourceFile);
}
}

D. java web启动时修改并重新加载properties文件

大兄弟,我这儿有一个,你参考一下,但是输出流问题,没有得到解决。因为src在项目布置到tomcat上会消失的,所以你看看能不能解决?

E. JAVA中如何重新加载.properties文件,使其他引用实时改变

*Spring提供的PropertiesLoaderUtils允许您直接通过基于类路径的文件地址加载属性资源

*最大的好处就是:实时加载配置文件,修改后立即生效,不必重启

*/
privatestaticvoidspringUtil(){
Propertiesprops=newProperties();
while(true){
try{
props=PropertiesLoaderUtils.loadAllProperties("message.properties");
for(Objectkey:props.keySet()){
System.out.print(key+":");
System.out.println(props.get(key));
}
}catch(IOExceptione){
System.out.println(e.getMessage());
}
try{
Thread.sleep(5000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}

F. java web程序注解读取properties文件,每次修改都需要重启服务器,怎么解决

你是不是用了类似maven的管理工具
然后修改的是src下面的,target也要修改才行

G. java怎么用java修改.properties文件键值,文件在java包中。我能读到这个文件。但无法修改

读出来后用set方法修改属性,然后再用Properties 的save方法保存修改 并且覆盖原来的info.properties文件不就行了。不过save方法用的输出流 需要用filewriter写入/com/zst/warning/config/info.properties文件。
web项目应该没问题,如果是java应用程序打成jar包后的话就比较麻烦了。要先解压修改了以后还要再重新打包

H. java修改通过读取连接数据库的properties文件之后如何让其生效

用线程监控文件是否被修改,若修改:

  1. properties文件配置参数在系统中以系统属性存在就直接重设属性

  2. 若采用spring,则需要刷新数据源

阅读全文

与java修改properties相关的资料

热点内容
本地电脑怎么设置传奇服务器 浏览:1000
安卓10框架怎么制作 浏览:957
程序员退休工资待遇 浏览:607
湛江中文编程数控系统代理 浏览:417
openglandroid书 浏览:170
奇妙组件安卓版叫什么 浏览:729
微信授权什么app权重最高 浏览:11
php循环数组foreach 浏览:78
zip和app有什么区别 浏览:633
乖法快速算法 浏览:871
日本程序员一年工资 浏览:199
出国做程序员怎么样 浏览:735
rar锁定压缩文件 浏览:871
安卓id号码怎么更换 浏览:524
db2如何连接服务器数据库 浏览:630
wordtopdf转换 浏览:840
云服务器在哪设置ftp 浏览:622
黑客社会工程学攻击pdf 浏览:998
专业中颖单片机程序开发 浏览:426
python多进程多线程实例 浏览:639