private String loadSysPath(){
String temp = "./cluster/siteId/conf/netMap.properties";
if(temp.indexOf("siteId")!=-1){
String siteId= ContextHolder.getContext().getSiteId();
temp = temp.replaceAll("siteId", siteId);
}
return temp;
}
/**
* 修改邮箱上限值
* @param key 邮箱关键字
* @param value 邮箱上限值
* @return
*/
public void changePropertiesValue( @Read(key = "key") String key,@Read(key = "value") String value) {
Properties p = new Properties();
FileInputStream in;
try {
String propertiesPath = this.loadSysPath();
in = new FileInputStream(propertiesPath);
p.load(in);
in.close();
p.setProperty(key,value);//设置属性值,如属性不存在新建
FileOutputStream out=new FileOutputStream(propertiesPath);//输出流
p.store(out,"netMap set");//设置属性头,如不想设置,请把后面一个用""替换掉
out.flush();//清空缓存,写入磁盘
out.close();//关闭输出流
} catch (Exception e) {
logger.error("changePropertiesValue failed in ManageIndexAction",e);
}
}
/**
* 获取邮箱上限值
* @param key 邮箱关键字
* @return 邮箱保存最大值,-1为读取数值失败
*/
public String getNetMapPropertiesValue(String key) {
String s = "";
String type = "0";
Properties p = new Properties();//加载属性文件读取类
FileInputStream in=null;
OutputStreamWriter os=null;
String propertiesPath = this.loadSysPath();
try {
File file= new File(propertiesPath);
//判断文件是否存在,不存在创建并添加该邮箱的默认上限数量
if(!file.exists()){
String ss = propertiesPath.substring(0, propertiesPath.lastIndexOf("/"));
File root= new File(ss);
if (!root.exists()) {
root.mkdirs();
}
os = new OutputStreamWriter(new FileOutputStream(file));
os.close();
changePropertiesValue(key,"0");
}
//propertiesFileName如test.properties
in = new FileInputStream(propertiesPath);//以流的形式读入属性文件
p.load(in);//属性文件将该流加入的可被读取的属性中
in.close();//读完了关闭
s = p.getProperty(key);//取得对应的属性值
if(StringUtils.isBlank(s)){
changePropertiesValue(key,"0");
s = "0";
}
type = s;
} catch (Exception e) {
logger.error(" getMaxNumByMsgBoxType error in PrivateMessageServiceImpl ",e);
}finally{
try{
if(in!= null){
in.close();
}if(os != null){
os.close();
}
}catch(Exception ex){
logger.error(ex);
}
}
return type;
}
分享到:
相关推荐
以下是一些关于如何在Java中改变Properties文件中键值的具体步骤和相关知识点: 1. **导入所需的库** 在Java代码中,首先需要导入`java.util.Properties`和`java.io.*`等相关的类库,以便进行读写Properties文件的...
### 使用Java轻松操作properties文件 #### 一、概述 在Java开发中,`properties`文件是一种常见的配置文件格式,主要用于存储一系列的键值对。它通常用于保存应用程序的各种配置信息,如数据库连接字符串、服务器...
Java操作Properties属性文件是Java开发中的常见任务,主要用于配置应用的参数或存储系统设置。`jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar` 是一个专门用于编辑和管理Properties文件的工具,这使得开发者可以...
读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...
此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作
本篇文章将深入探讨如何在Java中操作Properties文件。 首先,了解资源文件在项目中的位置至关重要。在Java中,Properties文件一般存放在类路径(classpath)下,这通常是指工程项目的类包(class package)结构中。...
Java对Properties文件的操作涉及...在Java中操作Properties文件是一种基础但非常重要的技能,无论是在简单的桌面应用程序中,还是在复杂的服务器端应用中,合理地管理配置信息对于保持应用的灵活性和可维护性至关重要。
在Java Swing中操作properties文件是一项常见的任务,这些文件通常用于存储应用程序的配置、设置或其他静态数据。Properties文件是一种键值对的文本格式,其中键和值之间用等号(=)或冒号(:)分隔。 在Java中,`...
2. **写入Properties文件**:使用`Properties`类的`store()`方法可以将属性列表写入到输出流,例如`writePropertiesFile`方法中的`properties.store(outputStream, comment)`,其中`comment`参数是可选的注释字符串...
如果需要读取配置文件中的所有键值对,可以使用`propertyNames`方法获取所有键名,并通过`getProperty`方法逐一读取每个键对应的值。 ```java public static void readProperties(String filePath) { ...
Java操作Properties文件是Java开发中常见的一项任务,主要用于配置管理,如存储系统设置、数据库连接信息等。Properties类是Java中的一个内置类,它提供了一种方便的方式来存储和加载键值对数据。以下是对这个主题的...
在Java编程中,有时我们需要在运行时动态地修改配置文件,比如Properties文件。Properties文件是Java用来存储配置信息的一种常见方式,通常包含了应用的各种参数设置。然而,一旦将应用程序打包成JAR,内部的资源...
总之,Java中的`properties`文件是管理配置信息的有效方式,而`java.util.Properties`类提供了方便的API来读取和操作这些文件。通过`SysPropertiesUtil.java`这样的工具类,我们可以封装加载和获取配置的逻辑,使...
你可以通过查看这些源码来更好地理解如何实际操作Properties文件。 总结来说,Java中的Properties类是管理配置文件的关键工具,它提供了一套完整的API来读取、写入和操作键值对。掌握这部分知识对于任何Java开发者...
java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录
在提供的压缩包文件中,`configuration.java`和`configuration1.java`可能是实现上述功能的示例代码。通过查看和分析这些文件,你可以更深入地理解如何在实际项目中解决这些问题。 总结一下,处理Java中的...
这种方法尤其适用于在jar文件中包含properties文件的情况: ```java import java.io.InputStream; import java.util.Properties; public class PropertiesDemo { public static void main(String[] args) { ...
1. **properties文件结构** `properties`文件的结构非常简单,每行代表一个键值对,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 database.url=jdbc:mysql://localhost:3306/...
此外,`.properties`文件中的特殊字符,如换行符、制表符等,会被自动处理。如果需要在值中包含这些特殊字符,可以使用`\`进行转义,例如`\n`表示换行,`\t`表示制表符。 在实际开发中,`.properties`文件通常用于...
5. **注释处理**:properties文件中的行首#表示注释,比较时通常会忽略这些注释行。 总之,“Properties文件比较工具”是Java开发中一个实用的小型应用,它利用了Java标准库提供的`Properties`类,为开发者提供了...