将一个或多个 资源 连接到单个文件或控制台。如果资源列表为空且 ignoreempty 为 true
,则除非目标文件存在,否则将创建目标文件。
自 Apache Ant 1.7.1 起,此任务可以用作 资源集合,它将返回恰好一个 资源。
资源集合 用于选择要连接的资源。没有单个属性来指定要连接的单个资源。
属性 | 描述 | 必需 |
---|---|---|
destfile | 连接流的目标文件。如果未指定,则将使用控制台。 | 否 |
append | 指定是否应追加 destfile 指定的文件。 | 否;默认为 no |
force | 指定是否应将 destfile 指定的文件写入,即使它比所有源文件更新。已弃用,请改用 overwrite 属性。 | 否;默认为 yes |
overwrite | 指定是否应将 destfile 指定的文件写入,即使它比所有源文件更新。自 Ant 1.8.2 起。 | 否;默认为 yes |
forceReadOnly | 覆盖只读目标文件。自 Ant 1.8.2 起 | 否;默认为 false |
encoding | 指定输入文件的编码。有关可能值的列表,请参阅 支持的编码。 | 否;默认为默认 JVM 字符编码 |
outputencoding | 写入输出文件时要使用的编码。自 Ant 1.6 起。 | 否;默认为 encoding(如果已设置)或默认 JVM 字符编码(否则) |
fixlastline | 指定是否检查连接的每个文件是否以换行符结尾。如果此属性为 yes,则如果文件没有以换行符结尾,则会将换行符追加到流中。自 Ant 1.6 起。此属性不适用于嵌入式文本。 |
否;默认为 no |
eol | 指定 fixlastline 属性使用的换行符。自 Ant 1.6 起 此属性的有效值为
|
否;默认值取决于平台:Unix 为 lf,DOS 系列(包括 Windows)为 crlf,Mac OS 9 或更早版本为 cr |
binary | 自 Ant 1.6.2 起 如果此属性设置为 true,则任务将以字节为单位连接文件。如果此属性为 false,则由于字符编码问题,连接通常不适用于二进制文件。如果此选项设置为 true,则必须设置 destfile 属性,并且任务不能使用嵌套文本。此外,encoding、outputencoding、filelastline 属性也不能使用。 |
否;默认为 false |
filterbeforeconcat | 如果此属性设置为 true,则任务在应用 fixlastline 后将过滤器链应用于每个输入。如果此属性为 false,则连接将仅对已连接的输入应用一次过滤器链。 header 和 footer 的过滤不受此设置的影响。自 Ant 1.10.10 起 |
否;默认为 false |
ignoreempty | 自 Ant 1.8.0 起 指定是否应创建 destfile 指定的文件,即使源资源列表为空。 | 否;默认为 true |
resourcename | 自 Ant 1.8.3 起 指定如果此任务作为 资源 公开,则报告的名称。 | 否 |
自 Ant 1.7 起.
任何 资源集合 类型都可以指定要连接的资源。
自 Ant 1.6 起.
此任务支持嵌套的 FilterChain。
自 Ant 1.6 起.
用于将文本预先附加或追加到连接的流中。
文本可以是内联的,也可以在文件中。
属性 | 描述 | 必需 |
---|---|---|
filtering | 是否过滤此子元素提供的文本。 | 否;默认为 yes |
file | 要放置在连接文本的开头或结尾的文件。 | 否 |
trim | 是否修剪值。 | 否;默认为 no |
trimleading | 是否修剪每行开头的空格。 | 否;默认为 no |
将字符串连接到文件
<concat destfile="README">Hello, World!</concat>
将一系列文件连接到控制台
<concat> <fileset dir="messages" includes="*important*"/> </concat>
连接单个文件,如果目标文件存在则追加
<concat destfile="NOTES" append="true"> <filelist dir="notes" files="note.txt"/> </concat>
连接一系列文件,仅在目标文件比所有源文件旧时更新目标文件
<concat destfile="${docbook.dir}/all-sections.xml" force="no"> <filelist dir="${docbook.dir}/sections" files="introduction.xml,overview.xml"/> <fileset dir="${docbook.dir}" includes="sections/*.xml" excludes="introduction.xml,overview.xml"/> </concat>
连接一系列文件,扩展 Ant 属性。
<concat destfile="${build.dir}/subs"> <path> <fileset dir="${src.dir}" includes="*.xml"/> <pathelement location="build.xml"/> </path> <filterchain> <expandproperties/> </filterchain> </concat>
过滤 build.xml 中包含 project 的行,并将它们输出到 report.output,并在前面加上标题。
<concat destfile="${build.dir}/report.output"> <header filtering="no" trimleading="yes"> Lines that contain project ========================== </header> <path path="build.xml"/> <filterchain> <linecontains> <contains value="project"/> </linecontains> </filterchain> </concat>
连接多个二进制文件。
<concat destfile="${build.dir}/dist.bin" binary="yes"> <fileset file="${src.dir}/scripts/dist.sh"/> <fileset file="${build.dir}/dist.tar.bz2"/> </concat>