Getting file attributes in Ant
December 2, 2003 – 09:53 | java(Jan Materne on Ant User ML) I used the <script> task for iterating over the selected files of a fileset, instatiate a java.io.File object and gets that filesize using its length() method. As a result I stored the value as ant property (with common prefix).
XML:
-
<?xml version="1.0" encoding="ISO-8859-1"?>
-
<project name="test" basedir="." default="main">
-
-
<target name="main">
-
<!-- for what files the size is required? -->
-
<fileset id="fs" dir="test"/>
-
-
<!-- use java.io.File in script task for getting that size -->
-
<script language="javascript"> <![CDATA[
-
-
// iterate over the files selected by the fileset defined above
-
// code adapted from copy task implementation
-
-
// Get the DirectoryScanner
-
// project is an object defined by script task
-
ds = fs.getDirectoryScanner(project);
-
-
// Get the source files (array)
-
srcFiles = ds.getIncludedFiles();
-
-
// iterate over that array
-
for (i=0; i<srcFiles.length; i++) {
-
filename = srcFiles[i];
-
file = new java.io.File(fs.getDir(project), filename);
-
size = file.length();
-
-
// store the size an a property
-
// prefix.filename=size
-
project.setProperty("filesize."+filename,size);
-
}
-
]]> </script>
-
-
<!-- prints the sizes -->
-
<echoproperties prefix="filesize"/>
-
-
</target>
-
-
</project>
