package com.ctrip.framework.apollo.core.utils;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Properties;
/**
* @author Jason Song(song_s@ctrip.com)
*/
public class PropertiesUtil {
/**
* Transform the properties to string format
* @param properties the properties object
* @return the string containing the properties
* @throws IOException
*/
public static String toString(Properties properties) throws IOException {
StringWriter writer = new StringWriter();
properties.store(writer, null);
StringBuffer stringBuffer = writer.getBuffer();
filterPropertiesComment(stringBuffer);
return stringBuffer.toString();
}
/**
* filter out the first comment line
* @param stringBuffer the string buffer
* @return true if filtered successfully, false otherwise
*/
static boolean filterPropertiesComment(StringBuffer stringBuffer) {
//check whether has comment in the first line
if (stringBuffer.charAt(0) != '#') {
return false;
}
int commentLineIndex = stringBuffer.indexOf("\n");
if (commentLineIndex == -1) {
return false;
}
stringBuffer.delete(0, commentLineIndex + 1);
return true;
}
}