LoadProperties:加载属性文件

为了便于维护和细分功能。通常会把Ant中定义的property元素放到一个或多个.properties文件中定义,然后在Ant中引入这些属性。在这时就需要一个能导入.properties文件的功能。Loadproperties任务就能很好地实现这个需要。把property文件中的property元素导入Ant构件文件中。

4.11.1  LoadProperties Task的属性及功能

LoadProperties任务包含以下功能:

(1)srcFile:定义要导入的属性文件。

(2)resource:也用于指定属性文件的名称。resource属性和srcFile属性两者必须指定其一。

(3)encoding:指定导入文件时的编码方式。

(4)classpath:指定查找resource指定的文件的路径。

(5)classpathref:用于指定一个classpath类型的引用,当在查找resource指定的文件时使用。

4.11.2  LoadProperties Task加载属性文件的实例

这里举一个文件复制的例子。假设现在需要把src目录下的所有文件复制到dest目录下,这里使用copy.properties文件来定义源文件目录和目标目录的位置,然后在Ant工具中使用copy.properties中定义的属性。当文件目录改变时,只需要改变copy.properties中的属性,而不需要改变build.xml文件。编写程序如下:

copy.properties文件内容:

copy.src=src

copy.dest=dest

定义源文件目录和目标文件目录的位置。这里使用相对位置,指定前目录下的src和dest子目录,当然也可以使用绝对位置。编写build.xml文件如下:

<?xml version="1.0"?>

<project name="loadpropertiesSample" default="copyFile">

    <!-- // 导入属性文件  -->

     <loadproperties srcFile="copy.properties">

       <!-- // 定义文件过滤器 -- >

<filterchain>

        <linecontains>

          <contains value="copy."/>

        </linecontains>

      </filterchain>

    </loadproperties>

 

    <!-- //复制文件  -->

    <target name="copyFile" >

        <copy todir="${copy.dest}">

            <fileset dir="${copy.src}"/>

        </copy>

    </target>

</project>

这里定义了一个文件行的过滤器,在导入属性时只导入名称为copy.开头的属性,按行过滤。在命令行执行Ant命令,结果如图4.6所示。

图4.6  使用LoadProperties任务导入属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值