import org.apache.tools.ant.taskdefs.Property; //导入方法依赖的package包/类
private Properties readProperties(Vector extends Property> antProperties) throws IOException {
Properties props = new Properties();
for(Property prop : antProperties) {
if(prop.getName()!=null) {
if(prop.getValue()!=null) {
props.setProperty(prop.getName(), prop.getValue());
} else if(prop.getLocation()!=null) {
props.setProperty(prop.getName(),
new File(prop.getLocation().getFileName()).getAbsolutePath());
}
} else if(prop.getFile()!=null || prop.getUrl()!=null) {
InputStream is = null;
try {
is = (prop.getFile()!=null) ?
new FileInputStream(prop.getFile()) :
prop.getUrl().openStream();
Properties loadedProps = new Properties();
loadedProps.load(is);
is.close();
if ( prop.getPrefix() != null ) {
for(Object p : loadedProps.keySet()) {
props.setProperty(prop.getPrefix() + p,
loadedProps.getProperty(p.toString()));
}
} else {
props.putAll(loadedProps);
}
} finally {
if (is != null) {
is.close();
}
}
}
}
return props;
}