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

我正在使用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”是否存在。

要检查一个文件夹是否存在,你可以简单地使用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();