读取比较简单~~
保存的时候,如果使用默认的property.store()方法,会把所有的注释都忽略~
所以自己采用读取文件的方式,来实现保存property~
/** * Update the key's value to new value ,and write back to the Configuration * file * * @param configFilePath * Configuration file * @param key * the key * @param value * the new value */ public static Boolean updateProperty(String configFilePath, String key, String value) { // Read File BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(configFilePath)); } catch (FileNotFoundException e) { Log.getInstance().fine("Can not find file: " + configFilePath + "."); //$NON-NLS-1$ //$NON-NLS-2$ } StringBuilder builder = new StringBuilder(); String tempLine; String tempValue; // Find the property and update try { while ((tempLine = reader.readLine()) != null) { if (tempLine.trim().startsWith(COMMENT_FALG)) { builder.append(tempLine).append(LINE_SEPARATOR); continue; } if (tempLine.contains(key)) { tempValue = tempLine.trim().substring(key.length()); if (tempValue.trim().startsWith(EQUAL_FLAG)) { tempLine = key + EQUAL_FLAG + value; } } builder.append(tempLine).append(LINE_SEPARATOR); } reader.close(); } catch (IOException e) { Log.getInstance().fine("Read configuration file: " + configFilePath + " error."); //$NON-NLS-1$ //$NON-NLS-2$ e.printStackTrace(); } // Update File BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter(configFilePath)); writer.append(builder.toString()); writer.close(); } catch (IOException e) { Log.getInstance().fine("Update configuration file: " + configFilePath + " error."); //$NON-NLS-1$ //$NON-NLS-2$ } return true; } /** * Get value from configuration file by key * * @param configFilePath * configuration file path * * @param key * the key * * @return the value */ public static String getProperty(String configFilePath, String key) { Properties prop = new Properties(); try { prop.load(new FileInputStream(configFilePath)); } catch (FileNotFoundException e) { Log.getInstance().fine("Can not find file: " + configFilePath + "."); //$NON-NLS-1$ //$NON-NLS-2$ } catch (IOException e) { Log.getInstance().fine("Error read configuration file: " + configFilePath + " ."); //$NON-NLS-1$ //$NON-NLS-2$ } return prop.getProperty(key); }
您还没有登录,请您登录后再发表评论
Java EE(Java Platform, Enterprise Edition)是用于构建企业级分布式应用程序的框架,它提供了一...同时,随着Java EE演变为Jakarta EE,部分配置方式和文件结构也在不断更新,开发者需要持续学习和跟进最新的规范。
Nexus 的核心优势在于其灵活性和可扩展性,使得开发者可以高效地管理各种软件组件,包括 JARs、WARs(Web应用程序归档文件)和其他类型的资源。 标题中的 "nexus.war" 指的是 Nexus 服务器的 Web 应用程序部署文件...
进入向导界面后,下一步是选择导出的 JAR 文件的保存路径和文件名。点击 "Next",再次点击 "Next",最后一步是选择主类(Main class),这个类通常包含了程序的主入口点 `public static void main(String[] args)`。...
- 在这个窗口,不要选择主类,而是勾选`Generate the manifest file`,并保存MANIFEST.MF文件在工作空间内,例如:/testProject/main,其中`testProject`是你的工程名,`main`是MANIFEST.MF文件的名称。 - 打开...
在讨论Java应用程序打包时,通常会涉及到创建JAR(Java Archive)文件,这是一种压缩文件格式,用于将多个文件封装到一个文件中,便于分发和部署。JAR文件可以包含Java类文件、图像、声音等资源,并且可以包含一个...
configure.properties
2. **灵活性**:当数据库配置发生变化时,只需要修改配置文件,而无需重新编译和部署整个应用。 3. **可维护性**:将配置信息与业务逻辑分离,使得代码更易于理解和维护。 例如,一个名为`conn_DB_template....
源码内带数据库, 能实现基本的功能,只要将其部署到Myeclipse或eclipse中,添加到数据库,修改一下配置文件jbdc.propertes中的数据库链接就可以正常运行了
样品监测应用 一个包含Swagger servlet,Hystrix servlet的配置以及可选的Camel Endpoint servlet的库,它在码头服务器中运行。... 要更改配置,请将swagger_api.propertes文件添加到类路径的根目录。
相关推荐
Java EE(Java Platform, Enterprise Edition)是用于构建企业级分布式应用程序的框架,它提供了一...同时,随着Java EE演变为Jakarta EE,部分配置方式和文件结构也在不断更新,开发者需要持续学习和跟进最新的规范。
Nexus 的核心优势在于其灵活性和可扩展性,使得开发者可以高效地管理各种软件组件,包括 JARs、WARs(Web应用程序归档文件)和其他类型的资源。 标题中的 "nexus.war" 指的是 Nexus 服务器的 Web 应用程序部署文件...
进入向导界面后,下一步是选择导出的 JAR 文件的保存路径和文件名。点击 "Next",再次点击 "Next",最后一步是选择主类(Main class),这个类通常包含了程序的主入口点 `public static void main(String[] args)`。...
- 在这个窗口,不要选择主类,而是勾选`Generate the manifest file`,并保存MANIFEST.MF文件在工作空间内,例如:/testProject/main,其中`testProject`是你的工程名,`main`是MANIFEST.MF文件的名称。 - 打开...
在讨论Java应用程序打包时,通常会涉及到创建JAR(Java Archive)文件,这是一种压缩文件格式,用于将多个文件封装到一个文件中,便于分发和部署。JAR文件可以包含Java类文件、图像、声音等资源,并且可以包含一个...
configure.properties
2. **灵活性**:当数据库配置发生变化时,只需要修改配置文件,而无需重新编译和部署整个应用。 3. **可维护性**:将配置信息与业务逻辑分离,使得代码更易于理解和维护。 例如,一个名为`conn_DB_template....
源码内带数据库, 能实现基本的功能,只要将其部署到Myeclipse或eclipse中,添加到数据库,修改一下配置文件jbdc.propertes中的数据库链接就可以正常运行了
样品监测应用 一个包含Swagger servlet,Hystrix servlet的配置以及可选的Camel Endpoint servlet的库,它在码头服务器中运行。... 要更改配置,请将swagger_api.propertes文件添加到类路径的根目录。