我正在从 git 命令行输出在我的项目的 gradle 构建中实现一个差异包生成任务。目前我有一个方法可以给我一个从git diff --name-only. 我想做的是在与每个文件的路径匹配的新目录中创建一个目录结构。例如:repo/dir/file.java如果尚未创建,输入字符串将在输出目录中创建,并在其中创建head/repo/dir具有当前file.java和prev/repo/dir前一个file.java.
我目前的计划是repo/dir/file.java在正斜杠上拆分字符串,并创建目录直到拆分结果的最后一个元素,然后在那里写入文件。但我在 gradle 中没有想到的东西是好的或干净的。我想知道是否有更好的方法从这样的字符串创建目录。
我目前的计划是
repo/dir/file.java在正斜杠上拆分字符串,并创建目录直到拆分结果的最后一个元素
您可以尝试使用File.mkdirs():
File newDirectoryStructureParent = new File('some/path/to/parent/dir')
def s = 'repo/dir/file.java'
def newContainer = new File(s, newDirectoryStructureParent).getParent()
newContainer.mkdirs()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17977 次 |
| 最近记录: |