I encountered a problem during development a few days ago. When reading the configuration file in the background, I could not read the attribute value, so I checked it online. Now I will share it with you here.
Attach the code first:
Package com.shafei.util;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream in;
import java.util.Enumeration;
import java.util.Properties;
import org.apache.log4j.Logger;
public class PropertyUtil {
Private static logger record = Logger.getLogger(PropertieUtil.class);
Private PropertyUtil() {
}
/ **
*Read a certain property of the configuration file
* /
Public static string readValue (String file path, String key) {
Property props = new feature ();
Try {
//Note that the path starts with /, if not, handle it
If (filePath.startsWith("/")!)
File path = "/" + file path;
InputStream time = PropertieUtil.class.getResourceAsStream(file path);
props.load(in);
String value = props.getProperty(key);
return value;
} catch (Exception 5) {
logger.error(E);
return null;
}
}
/ **
*Print the entire contents of the configuration file (file path, configuration file name, if there is a path, props/test.properties)
* /
Public static void readProperties (String file path) {
Properties props = New Features();
Try {
//Note that the path starts with /, otherwise handle .class.getResourceAsStream(file path);
props.load(in);
enumeration EN = props.propertyNames() >;
//Traverse while printing
(en.hasMoreElements()) {
String key = (String) en.nextElement();
String property = props.getProperty(key);
System.out .println (property);
logger.info (key + ":" + property);
}
} catch (Exception 5) {
logger.error (E);
}
}
/ **
* will Values are written to the configuration file
* /
Public static invalid writeProperties (string file name, string parameter name, string parameterValue) throws an exception {
//Special attention to local testing, if it is a Maven project, please go to the target View the file in the directory, not the source code
//Note that / cannot be added to the path, and if it is added, remove it
, if (fileName.startsWith ("/"))
fileName.substring (1);
String File path = getPath() + filename of PropertyUtil.class.getResource("/").
//Get the configuration file
Property PPS = new properties();
in InputStream = new BufferedInputStream(new FileInputStream(file path));
pps.load(in);
enclosed();
out OutputStream = new FileOutputStream (file path);
//Set configuration name and value
pps.setProperty (parameter name, parameterValue);
//Comment configuration equal to file comment
pps.store (full score, "update" + Parameter name + "name");
out.flush();
out.close();
}
public static void main(String[] args) throws Exception {
readProperties("jdbc.properties" );
logger.info(readValue("jdbc.properties", "JAVABLOG_WRITE_URL"));
// writeProperties("CONF/test.properties", "dataSource.driver", "test");
readProperties("CONF / test.properties");
}
}
I also learned the above code from the experts. It is not difficult and very practical. I hope it will be helpful to everyone!