此任务用于将文件或资源复制到新位置,它仅在源文件比目标文件更新时才复制。也可以使用overwrite
属性显式覆盖它。
todir
属性用于设置目标路径。 此任务使用下面给出的各种属性。
属性 | 描述 | 必需 |
---|---|---|
file |
要复制的文件 | 是 |
preservelastmodified |
保留上次修改的名称 | 否 |
tofile |
要复制到目标文件的文件 | 如果还指定了file 属性,则只允许使用todir 。 |
todir |
目标目录名称 | 如果还指定了file 属性,则只允许使用todir 。 |
overwrite |
即使目标文件较新,也会覆盖现有文件 | 否 |
force |
覆盖只读目标文件 | 否 |
filtering |
在复制过程中过滤 | 否 |
flatten |
通过忽略源文件的目录结构来复制文件 | 否 |
includeEmptyDirs |
复制空目录 | 否 |
failonerror |
如果复制失败,则显示此错误消息。 | 否 |
quiet |
如果为true 且failonerror 为false ,则不记录警告消息。 |
否 |
verbose |
它记录正在复制的文件 | 否 |
encoding |
用于复制文件的编码 | 否 |
outputencoding |
显示要使用的编码 | 否 |
下面来看一个例子,在这个示例中将数据从一个文件复制到另一个文件。 请参阅下面的示例。
复制单个文件
文件:build.xml
<project name = "java-ant project" default = "copy-file"> <target name="copy-file"> <copy file = "abc.txt" tofile = "xyz.txt"></copy> </target> </project>
将文件复制到目录
<project name = "java-ant project" default = "copy-file"> <target name="copy-file"> <copy file="abc.txt" todir="../someother/dir"/> </target> </project>
将目录复制到另一个目录
<project name = "java-ant project" default = "copy-file"> <target name="copy-file"> <copy todir="../new/dir"><fileset dir="src_dir"/></copy> </target> </project>