如何使用双反斜杠或正斜杠分隔符生成目录路径?

时间:2010-10-05 13:58:47

标签: java windows unix ant

我正在编写一个来自ant的文本文件的目录路径,后来由Java应用程序读取以查找另一个文件。

在我的蚂蚁剧本中,我有:

<property name="fulltrainer.dir"  location="${trainer.dir}" />

<echo file="${trainer.dir}/properties/commonConfig.properties"># KEY         VALUE
CurrentBuildFile=${fulltrainer.dir}\current_build</echo>

在build.properties文件中,trainer.dir设置为:

trainer.dir=../trainer

最终写作:

# KEY        VALUE
CurrentBuildFile=C:\Workspaces\ralph\trainer\current_build

到commonConfig.properties文件。

我需要它写:

# KEY        VALUE
CurrentBuildFile=C:\\Workspaces\\ralph\\trainer\\current_build

或者,我需要它写:

# KEY        VALUE
CurrentBuildFile=C:/Workspaces/ralph/trainer/current_build

我该怎么做?

1 个答案:

答案 0 :(得分:9)

这看起来很像这个问题:Ant produces jsfl with backslashes instead of slashes

因此,请尝试使用pathconvert任务。

<pathconvert targetos="unix" property="fulltrainer.unix_dir">
    <path location="${trainer.dir}"/>
</pathconvert>

<property name="cf.props" value="${trainer.dir}/properties/commonConfig.properties"/>
<echo file="${cf.props}" message="# KEY         VALUE"/>
<echo file="${cf.props}" append="yes" message="CurrentBuildFile=${fulltrainer.unix_dir}/current_build"/>