Groovy I/O

Groovy在使用I / O时提供了许多辅助方法,Groovy提供了更简单的类来为文件提供以下功能。

1.读取文件

2.写入文件

3.遍历文件树

4.读取和写入数据对象到文件

 

除此之外也可以使用Java类:

 

     java.io.File   --文件类

    java.io.InputStream  --字节流读取

    java.io.OutputStream --字节流写入

    java.io.Reader   --字符读取

    java.io.Writer    --字符写入

其他的类基本都是基于上述类的装饰者模式类

 

 

下面是逐个介绍groovy提供的类功能:

1.读取文件

   读取的文本文件的所有行。方法eachLine内置在Groovy中的File类中,目的是确保文本文件的每一行都被读取。

   new File("E:/Example.txt").eachLine { 
         line -> println "line : $line";
   }

 读取文件的内容到字符串

 File file = new File("E:/Example.txt")
 println file.text

 写入文件:

  new File('E:/','Example.txt').withWriter('utf-8') {
         writer -> writer.writeLine 'Hello World'
      }

 

获取文件大小:

    File file = new File("E:/Example.txt")
     println "The file ${file.absolutePath} has ${file.length()} bytes"  --文件大小打印

 

测试文件是否是目录

   def file = new File('E:/')
   println "File? ${file.isFile()}"    --判断是否是文件,打印结果
   println "Directory? ${file.isDirectory()}" --判断是否是文件夹,打印结果

 创建目录:

    def file = new File('E:/Directory')
    file.mkdir()

  删除文件

     def file = new File('E:/Example.txt')
      file.delete()

 

  复制文件

      def src = new File("E:/Example.txt")
      def dst = new File("E:/Example1.txt")
      dst << src.text

  

   获取文件内容

    1.显示如何使用File类的listRoots函数显示机器上的驱动器

    def rootFiles = new File("test").listRoots()

       rootFiles.each {
           file -> println file.absolutePath
       }

   2.输出指定文件夹下内容

    new File("E:/Temp").eachFile() { 

         file->println file.getAbsolutePath()
      }

   3.递归显示目录及其子目录中的所有文件

      new File("E:/temp").eachFileRecurse() {
         file -> println file.getAbsolutePath()
      }

    

      

    

     

    

  

   

 

posted @ 2020-07-30 15:16  小窝蜗  阅读(220)  评论(0编辑  收藏  举报