基本上,我得到一个像"C:\ test\subfolder1\subfolder2\subfolder3\myfile.txt"这样的路径,但是子文件夹1-3可能已经不存在,这意味着如果我尝试的话我会得到一个例外写入文件.
有没有办法创建目标文件所在的目录结构,或者通过使用某些任务在输出到文件然后删除文件时创建结构,或者通过解析路径的目录部分并使用mkdir任务第一?
Dan*_*yer 32
当您使用<mkdir>任务时,Ant将为您创建完整的目录树.所以你只需要使用该<dirname>任务从文件名中获取目录名称.
<dirname property="directoryProperty" file="${filePathProperty}"/>
<mkdir dir="${directoryProperty}" />
Run Code Online (Sandbox Code Playgroud)
第一行提取文件路径的目录部分并将其存储在directoryProperty属性中.第二行创建目录(以及任何不存在的父目录).
这个任务运行良好
<mkdir dir="${file}/../"/>
Run Code Online (Sandbox Code Playgroud)
有时我们可以有一个替代选择,使用触摸任务
<touch file="${file}" mkdirs="true" verbose="true"/>
Run Code Online (Sandbox Code Playgroud)
此任务应该完成这项工作,但会产生副作用,以创建零大小的文件
| 归档时间: |
|
| 查看次数: |
39025 次 |
| 最近记录: |