0

10個のプロパティファイルのリストと1.properties , 2 .pro ....10.properties 、すべてのファイルプロパティ名を持つtotal.propertiesという別のファイルがあります。

問題は、ant スクリプトを使用して total.properies ファイルに記載されているすべてのファイルの内容を出力することです。

Eg:
1.properties
name:rajesh
languesknown:en,sp
2.properties
name:kumar
languesknown:en,fr,wd

total.properties
numbers: 1,2

output:
name:rajesh
languesknown:en,sp
name:kumar
languesknown:en,fr,wd

Ant スクリプトを使用します。

私が試した

ただし、最初のレコード、つまり 1.properties を印刷するたびに、2 回の反復は、プロパティの合計数に依存します。誰でもこれを手伝うことができますか?

4

1 に答える 1

0

ANT はスクリプト言語ではありません。これを行う最善の方法は、スクリプト言語を埋め込むことです。次の例ではGroovyを使用しています

├── build.xml
└── src
    ├── 10.properties
    ├── 1.properties
    ├── 2.properties
    ├── 3.properties
    ├── 4.properties
    ├── 5.properties
    ├── 6.properties
    ├── 7.properties
    ├── 8.properties
    ├── 9.properties
    └── total.properties

build.xml

<project name="demo" default="print-properties">

   <target name="bootstrap">
      <mkdir dir="${user.home}/.ant/lib"/>
      <get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.7/groovy-all-2.1.7.jar"/>
   </target>

   <target name="print-properties">
      <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
      <groovy>
         new File("src/total.properties").eachLine {
            def props = new File("src/${it}")

            println props.name
            println props.text
         }
      </groovy>
   </target>

</project>

ノート

  • 「ブートストラップ」ターゲットは、groovy タスク jar をインストールします
  • スクリプトは「total.properties」ファイルの各行を読み取り、見つかった各ファイル名の名前と内容を出力します。
于 2013-10-06T20:56:39.270 に答える