/** * @param fileName 配置文件路径 * @param targetName 生成文件名 * 此处Generator为当前类,用户可根据自己需要替换 * 注意当前类的工作空间路径尽量不要有空格 */ public void doGenerator(String fileName, String targetName){ Properties fp = new Properties(); InputStream in = Generator.class.getResourceAsStream(fileName); try { fp.load(in); in.close(); String dictName = "/" + Generator.class.getName().replace('.', '/'); URL outUrl1 = Generator.class.getResource(dictName + ".class"); dictName = dictName.substring(0, (dictName.lastIndexOf("/") + 1)); String tmpPath = outUrl1.getFile(); String dir = tmpPath.substring(0, tmpPath.indexOf("bin")); String realPath = dir + "src" + dictName + targetName; System.err.println("begin dictionary generation "); PrintStream prt = new PrintStream(new java.io.FileOutputStream(realPath)); prt.println("/**"); prt.println("* "+targetName+".java Created on " + new Date()); prt.println("*/ "); prt.println("package com.luodc.generateJava;"); prt.println(); prt.println("public class "+targetName+" {"); Set set = new TreeSet(fp.keySet()); for (Iterator i = set.iterator(); i.hasNext();) { String name = (String) i.next(); String value = fp.getProperty(name); if (name.indexOf('[') == -1 && name.indexOf(']') == -1) { StringBuffer buffer = new StringBuffer(" public static final String "); buffer.append(name.toUpperCase()); buffer.append("=\"").append(name).append("\";"); int chars = 20 - buffer.length() % 20; buffer.append(nchar(' ', chars)); String comment = new String(value.getBytes("utf-8")); buffer.append("//").append(comment); prt.println(buffer); } } prt.println("}"); prt.flush(); prt.close(); }catch (Exception e) { System.out.println("出现异常,异常信息为:"+e); } } private static StringBuffer nchar(char c, int n) { StringBuffer b = new StringBuffer(); for (int i = 0; i < n; i++) b.append(c); return b; }
读取配置文件生成java文件
说明:用于读取配置文件生成.java文件的方法
猜你喜欢
转载自luodingcai632.iteye.com/blog/2003899
今日推荐
周排行