为什么我收到“没有这样的文件或目录”错误

Lee*_*fin 3 groovy gradle build.gradle android-gradle-plugin

我是 Gradle 的新人。我尝试读取现有文件的内容并将其内容写入文件系统中尚不存在的新文件。

File existingFile1 = new File(path1);
File existingFile2 = new File(path2);
File newFile = new File(path3);

newFile.withWriter{ w ->
    [existingFile1, existingFile2].each{ f ->
      new File(f).withReader { r ->
         w << r << '\n'
      }
}
Run Code Online (Sandbox Code Playgroud)

但是,我的 gradle 抱怨No such file or directory path3。为什么它抱怨path3?我的意思是,path3 文件当然还不存在,我正在编写代码来创建该文件。任何人都可以向我解释为什么我的 gradle 会抱怨它?

我正在 Android studio 中编写我的 gradle 构建脚本 & 我正在使用 Gradle V2.2.1

cfr*_*ick 5

您还必须创建文件最终的路径。如果父目录尚不存在,则创建失败。例如:

f = new File('/tmp/it/aint/there')
assert !f.exists()
assert !f.parentFile.exists()
f.parentFile.mkdirs() // XXX create the dirs "to the file"
assert f.parentFile.exists()
f.withWriter{ it << 'x' }
assert f.exists()
assert f.text=='x'
Run Code Online (Sandbox Code Playgroud)