Groovy-5.文件I/O

1.概述

Groovy提供的文件I/O方法有:

  • 读取文件
  • 写入文件
  • 便利文件树
  • 读取和写入数据对象到文件

涉及到的标准Java类有:

  • java.io.File
  • java.io.InputStream
  • java.io.OutputStream
  • java.io.Reader
  • java.io.Writer

2.文件读取

以下例子将文本文件的所有行依次读取并打印

import java.io.File 
class Example { 
   static void main(String[] args) { 
      new File("E:/Example.txt").eachLine {  
         line -> println "line : $line"; 
      } 
   } 
}

以下例子将文件全部内容作为字符串获取,通过文件类的text属性:

class Example { 
   static void main(String[] args) { 
      File file = new File("E:/Example.txt") 
      println file.text 
   } 
}

3.写入文件

import java.io.File 
class Example { 
   static void main(String[] args) { 
      new File('E:/','Example.txt').withWriter('utf-8') { 
         writer -> writer.writeLine 'Hello World' 
      }  
   } 
}

4.获取文件大小

通过File类的length属性可以获取文件的大小(默认以字节为单位):

class Example {
   static void main(String[] args) {
      File file = new File("E:/Example.txt")
      println "The file ${file.absolutePath} has ${file.length()} bytes"
   } 
}

5. 目录检查

通过File类的isFile和isDirectory属性,可以检查路径是文件还是目录:

class Example { 
   static void main(String[] args) { 
      def file = new File('E:/') 
      println "File? ${file.isFile()}" 
      println "Directory? ${file.isDirectory()}" 
   } 
}

6.创建目录

通过File类的mkdir函数,创建一个新的目录:

class Example {
   static void main(String[] args) {
      def file = new File('E:/Directory')
      file.mkdir()
   } 
}

7.删除文件

通过File类的delete功能,可以删除一个文件:

class Example {
   static void main(String[] args) {
      def file = new File('E:/Example.txt')
      file.delete()
   } 
}

8.复制文件

<< 符号可以将内容从一个文件复制到另一个文件:

class Example {
   static void main(String[] args) {
      def src = new File("E:/Example.txt")
      def dst = new File("E:/Example1.txt")
      dst << src.text
   } 
}

9.获取目录内容

File类的listRoots函数可以显示本地的驱动器。
FIle类的eachFile函数可以列出特定目录中的文件。
File类的eachFileRecurse函数可以递归显示目录及其在目录中的所有文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,737评论 19 139
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,588评论 0 4
  • 从公园花桥门进去,往烈士纪念碑方面走,再上山路,大概走了15分钟,途中很多奇形怪状的大小岩石,别有洞天。 七星岩因...
    Hiro_a902阅读 2,714评论 2 1
  • 《随笔》 人无完人,金无足赤 人都是有缺点的,你有 我也不少,人都是为自己而活,,当你的私心同意并支持你时,...
    萌晨MC阅读 222评论 0 1
  • kabin阅读 224评论 0 1

友情链接更多精彩内容