如何检查包含文件的目录是否存在?

我正在使用groovy创build一个像"../A/B/file.txt"文件。 为此,我创build了一个service ,并将要创build的file path作为argument传递。 这个服务然后被一个JobJob将执行在指定目录中创build文件的逻辑。 我已经手动创build了“A”目录。

我将如何创build“B”目录和“A”目录内的file.txt通过代码自动创build它?

在创build文件之前,我还需要检查目录“B”和“A”是否存在。

2 Solutions collect form web for “如何检查包含文件的目录是否存在?”

要检查一个文件夹是否存在,你可以简单地使用exists()方法:

 // Create a File object representing the folder 'A/B' def folder = new File( 'A/B' ) // If it doesn't exist if( !folder.exists() ) { // Create all folders up-to and including B folder.mkdirs() } // Then, write to file.txt inside B new File( folder, 'file.txt' ).withWriterAppend { w -> w << "Some text\n" } 

编辑:从Java8开始,你最好使用Files类:

 Path resultingPath = Files.createDirectories('A/B'); 

我不知道这是否最终解决了您的问题,但类File具有完全创build文件指定的path的方法mkdirs()

 File f = new File("/A/B/"); f.mkdirs(); 
  • 如何从常规的返回函数接受多个参数
  • 你能从一个Groovy“每个”closures?
  • 从Groovy的列表中删除空项目
  • Groovy不在collections
  • Intellij IDEA不从Groovy项目中的@Grab导入依赖项
  • 跟踪Gradle脚本中每个任务的执行时间?
  • Groovy,“试用资源”的build筑模拟
  • 如何写一个条件收集在groovy?
  • Groovy / grails如何确定一个数据types?
  • Groovy:“def x = 0”中“def”的用途是什么?
  • 在Groovy闭包中模拟“继续”的最佳模式