`
wolfcame
  • 浏览: 79366 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

groovy文件操作工具类

阅读更多

 

class FileUtils{


    /**
     * remove the target file or directory.
     * @param src the full path of the target file
     * @return true if the file or directory is successfully removed; false otherwise.
     */
    static void rm(String src) {
        rm(src, null);
    }

    static void rmBySuffix(String path, String suffix) {
        rm(path, { it.endsWith(suffix) })
    }


    static def rm(String src, Closure filter) {
        iterator(src, filter, { path -> rm(path, filter) }, { file -> file.delete() });
    }

    static def cp(String src, String dsc) {
        def srcFile = new File(src);
        assert src != dsc;
        assert new File(srcFile).exists();
        new File(dsc).setBytes(srcFile.getBytes());
    }

    static def mv(String from, String to) {
        cp(from, to);
        rm(from);
    }

    static def mergeTo(String from, def to, Closure filter) {
        def toFile = to;
        if (to instanceof String) {
            toFile = new File(to);
        }
        iterator(from, filter, { mergeTo(it, toFile, filter) }, { toFile.append(it.getBytes()) });
    }

    private static void iterator(String src, Closure filter, Closure directoryAction, Closure fileAction) {
        def file = new File(src);
        assert file.exists();
        if (file.isDirectory()) {
            file.eachFile {
                directoryAction.call(it.getAbsolutePath());
            }
        }
        if ((!filter) || filter.call(src)) {
            fileAction.call(file);
        }
    }
}

 

def src = "c:/test.txt";
def dsc = "d:/test.txt";
//FileUtils.cp(src, dsc)
//FileUtils.rmBySuffix("E:/workspace/groovy/src", "class")
//FileUtils.mergeTo("c:/test/cc.txt", "d:/result.txt",{String path->path.endsWith("txt")});
//FileUtils.mergeTo("c:/test", "d:/result.txt",{String path->path.endsWith("txt")});
Utils.rmBySuffix("E:/workspace/groovy/src","class")

 

 

       作为脚本语言,groovy对java的文件操作进行了扩展,利用这些扩展与脚本语言的灵活性,可以很方便的帮助我们快速编写工作脚本与批处理脚本。

分享到:
评论

相关推荐

    groovy脚本执行工具.zip

    无需安装任何额外软件,只需将压缩包解压,然后在解压后的"bin"目录下运行groovyConsole.bat文件,即可启动Groovy控制台,开始编写和执行Groovy脚本。 Groovy与Java兼容性极强,它可以无缝地与Java代码集成,可以...

    读取yml文件工具类.zip

    为了方便地读取和解析这些配置文件,通常会创建一个工具类来封装操作。下面,我们将深入探讨如何在Java中实现一个YAML文件读取工具类,并介绍相关的技术点。 首先,我们需要引入一个能够处理YAML文件的库。在Java中...

    Java调用Groovy,实时动态加载数据库groovy脚本

    Groovy代码可以被Java编译器理解,并且在运行时,GroovyShell或GroovyClassLoader等工具能够即时编译和执行Groovy脚本,这为动态加载和执行提供了便利。 当我们需要在Java程序中调用Groovy脚本时,可以使用以下步骤...

    redis操作工具类

    标题"redis操作工具类"暗示我们将讨论如何在Spring Boot应用中创建一个Redis操作的工具类,以便于对Redis进行便捷的CRUD(创建、读取、更新、删除)操作。这个工具类通常会利用`StringRedisTemplate`,它是Spring ...

    EditPlus3.12 540 SN及Groovy语法文件

    groovy.stx文件则是语法规则文件,它包含了Groovy语言的语法结构,如类、方法、条件语句等。这个文件用于指导EditPlus如何理解和处理Groovy代码,使得代码的缩进、括号匹配等格式化功能得以实现。对于保持代码整洁和...

    groovy-api-chm

    此外,还包含了GroovyShell、GroovyClassLoader等工具类,用于运行和加载Groovy脚本。 "groovy-gapi-1.7.2.chm" 文件则专注于Groovy的额外功能和库,如Groovy的脚本编写环境、Swing构建器、AntBuilder等。Groovy ...

    Groovy Script 入门

    2. **执行脚本**:打开命令行窗口,导航至包含hello.groovy文件的目录,然后输入`groovy hello`来运行脚本。 #### 四、Groovy脚本进阶 ##### 4.1 类和对象 Groovy中的类定义类似于Java,但更简洁: ```groovy ...

    groovy-sdk-4.0.3

    3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...

    groovy脚本实现对数据库的增删改查

    这段代码创建了一个`Sql`对象,它是Groovy提供的一个便利类,用于简化JDBC操作。 2. **插入数据**(Create): 要向数据库插入数据,我们可以使用`executeUpdate`方法。例如,向名为`users`的表中插入一条记录: ...

    groovy速查手册

    - **命令行工具**:Groovy提供了一系列命令行工具,如`groovy`命令,用于执行Groovy脚本、评估表达式、处理输入流等。 - **脚本编辑与执行**:通过`groovy-i`命令可以对文本文件进行行内编辑,并保存原始文件的备份...

    groovy2.3.2

    在压缩包文件名称“apache”中,可能包含的是Apache相关的库或者示例,Apache是开源软件项目的重要基石,很多Java和Groovy项目都会依赖Apache的相关组件,如Apache Commons库,它们提供了丰富的工具类和算法,对于...

    实战groovy.rar

    4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入理解Groovy与Java的互操作性,以便在既有Java项目中无缝引入Groovy。 五...

    groovy-all-2.4.8.jar

    - 在Java项目中,可以通过添加这个jar到项目的类路径(classpath)来启用Groovy支持。 - 可以编写Groovy脚本文件(`.groovy`),然后通过GroovyShell或GroovyScriptEngine来运行。 - 对于构建工具,如Maven或...

    groovy-binary-1.6.4

    这个版本的Groovy包含了所有必要的二进制文件,使得用户可以直接在已经安装了JDK(Java Development Kit)的环境中运行和使用Groovy。JDK是运行和开发Java程序的基础,因为它包含了Java编译器、Java运行时环境以及...

    apache-groovy-sdk-4.0.1下载

    - **元编程**:Groovy允许在运行时修改类和对象的行为,这使得它非常适合构建框架和库,比如Grails web框架就是基于Groovy构建的。 在4.0.1这个版本中,可能包含了对先前版本的一些改进和bug修复,以提升稳定性和...

    groovy-all

    5. **Groovy GDK (Groovy Development Kit)**: 扩展了Java标准库,提供了更多的便利方法和类,使Groovy代码更加简洁易读。 6. **GPars (Groovy Parallel Systems)**: GPars是Groovy的并行和并发处理库,支持数据流...

    Groovy安装以及简单使用

    这里,我们导入了Java的`java.util.Date`类,并使用Groovy的字符串插值特性打印出当前日期和时间。 Groovy也提供了许多内置的工具和库,如Gradle构建工具,它是用Groovy编写的,允许开发者以更简洁的方式编写构建...

Global site tag (gtag.js) - Google Analytics