/** * 创建一个wizard。 * * @param descriptors 所有描述文件 * @param props 属性文件 */ public ConfigWizard(ConfigDescriptor[] descriptors, PropertiesSet propSet, String charset) { this.propSet = propSet; // 初始化输入输出流 try { in = new BufferedReader(new InputStreamReader(System.in, charset)); out = new PrintWriter(new OutputStreamWriter(System.out, charset), true); } catch (UnsupportedEncodingException e) { throw new ConfigWizardException(e); } // 取得descriptors中的所有groups List groups = new ArrayList(); for (ConfigDescriptor descriptor : descriptors) { ConfigGroup[] descriptorGroups = descriptor.getGroups(); for (ConfigGroup descriptorGroup : descriptorGroups) { groups.add(descriptorGroup); } } this.groups = (ConfigGroup[]) groups.toArray(new ConfigGroup[groups.size()]); // 设置初始step setStep(0); }