ant 遍历 properties

import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

public class PropertyReader {
	private static Properties pro = null;
	public static final String CONFIG_FILE = "kk-config.properties";
	public static final String SQL_FILE = "kk-config.sql";
	public static final String DB_NAME = "mts_konakart";
	public static final String TABLE_NAME = "configuration";
	
	static {
		pro = new Properties();
		try {
			pro.load(new FileInputStream(CONFIG_FILE));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void execute() {
		try {
			FileWriter fileWriter = new FileWriter(SQL_FILE);
			BufferedWriter bw = new BufferedWriter(fileWriter);
			bw.write("USE " + DB_NAME + ";");
			bw.newLine();
			Iterator it = pro.entrySet().iterator();
			while (it.hasNext()) {
				Map.Entry entry = (Map.Entry) it.next();
				Object key = entry.getKey();
				Object value = entry.getValue();
				String sql = "UPDATE " + TABLE_NAME +  " SET configurationvalue='" + value + "' WHERE configuration_key='" + key + "';";
				System.out.println(sql);
				bw.append(sql);
				bw.newLine();
			}
			bw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
  <?xml version="1.0"?>
<project name="kk-config" basedir="." default="update">
	<property name="project.dir" value="." />
	<property name="src.dir" value="src"/>
    <property name="classes.dir" value="classes"/>
	<property name="kk.sql" value="kk-config.sql" />
	
	<target name="create-sql" description="Create the sql file" depends="jar">
        <taskdef name="propertyreader" classname="PropertyReader" classpath="${ant.project.name}.jar"/>
        <propertyreader/>
    </target>
	
    <target name="clean" description="Delete all generated files">
        <delete dir="${classes.dir}" failonerror="false"/>
        <delete file="${ant.project.name}.jar"/>
		<delete file="${ant.project.name}.sql"/> 
    </target>

    <target name="compile" description="Compiles the Task">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}"  includeantruntime="on"/>
    </target>

    <target name="jar" description="JARs the Task" depends="compile">
        <jar destfile="${ant.project.name}.jar" basedir="${classes.dir}"/>
    </target>
	
	<target name="update" depends="create-sql">
		<sql driver="org.gjt.mm.mysql.Driver"
			url="jdbc:mysql://localhost:3306/mydb"
			userid="root"
			password="abc123_"
			src="${kk.sql}"
		/>
	</target>
</project>
 

你可能感兴趣的:(sql,properties,ant)