groovy - 为什么我得到 'No such file or directory' 错误

标签 groovy gradle android-gradle-plugin build.gradle

我是 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'
      }
}

但是,我的 gradle 提示说没有这样的文件或目录 path3。为什么它提示 path3?我的意思是 path3 的文件当然还不存在,我正在编写代码来创建这个文件。任何人都可以向我解释为什么我的 gradle 会提示吗?

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

最佳答案

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

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'

关于groovy - 为什么我得到 'No such file or directory' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27947483/

相关文章:

grails - 在 groovy 项目中使用 grails 插件类?

grails - 在另一个 View gsp 中使用一个 View gsp

android - 为什么在 Android Studio 中会出现 "Failed to resolve"错误?

android - 如何更改发布 APK 神器的路径?

xml - Groovy:将 XML 节点附加到现有 XML 文档

java - JMeter中解决库冲突的方法?

gradle - 如何在Gradle任务上设置动态输入依赖项

android - 如何将 Kotlin 序列化添加到新的 Android 项目?

Android Studio 的项目 gradle 文件变了?

android - 应用程序 :mergeDebugResources error in Android Studio after upgrade