I played a little bit ... import java.io.BufferedReader; import java.io.File; import java.io.FileReader;
import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class LoadGroupTask extends Task { String prefix; File file; String section; @Override public void execute() throws BuildException { validate(); BufferedReader rdr; try { rdr = new BufferedReader(new FileReader(file)); boolean needThisSection = false; String line = rdr.readLine(); while (line!=null) { line = line.trim(); if (line.length()>0) { if (line.indexOf("=") > 0) { if (needThisSection) { String[] parts = line.split("="); String propName = (prefix==null) ? parts[0] : prefix + parts[0]; String propValue = (parts[1]!=null) ? parts[1] : ""; log("Setting property " + propName + " -> " + propValue); getProject().setNewProperty(propName, propValue); } } else { needThisSection = section.equals(line); } } line = rdr.readLine(); } rdr.close(); } catch (Exception e) { throw new BuildException(e, getLocation()); } } protected void validate() { if (file==null) throw new BuildException("You must specify a file to read."); if (!file.canRead()) throw new BuildException("Can not read file " + file.getAbsolutePath()); if (section==null) throw new BuildException("You must specify a section to read."); } public void setFile(File file) { this.file = file; } public void setPrefix(String prefix) { this.prefix = prefix; } public void setSection(String section) { this.section = section; } } <project> <taskdef name="loadgroup" classname="LoadGroupTask" classpath="build/classes"/> <loadgroup file="data.txt" prefix="data." section="Test2"/> <echoproperties prefix="data"/> </project> Jan >-----Ursprüngliche Nachricht----- >Von: Kevin Jackson [mailto:[EMAIL PROTECTED] >Gesendet: Freitag, 23. Februar 2007 03:31 >An: Ant Users List >Betreff: Re: Using ant to parse text file > >Hi, > >If you don't want to write a custom task in java, you could also try ><scriptdef> and use a scripting language of your choice > >http://ant.apache.org/manual/OptionalTasks/scriptdef.html > >Kev > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]