本篇内容介绍了“怎么用Groovy读取本地文件的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
下面这些包默认已经被导入了,不需要使用import再次显式导入:
java.io.*
java.lang.*
java.math.BigDecimal
java.math.BigInteger
java.net.*
java.util.*
groovy.lang.*
groovy.util.*
运行时,Groovy根据参数类型决定具体哪一个方法被执行。而Java恰恰相反,被调用的方法根据参数类型,在编译期间就已经定下来了。
In Groovy, the methods which will be invoked are chosen at runtime. This is called runtime dispatch or multi-methods. It means that the method will be chosen based on the types of the arguments at runtime. In Java, this is the opposite: methods are chosen at compile time, based on the declared types.
下列代码的打印结果是1:
int method(String arg) { return 1;}int method(Object arg) { return 2;}Object o = "Object";int result = method(o);println result
在Groovy里,成对的大括号是声明闭包用的,因此定义数组的语法改用中括号:
int[] array = [1, 2, 3]
Groovy里的闭包,it为默认参数:
Closures may have 1...N arguments, which may be statically typed or untyped. The first parameter is available via an implicit untyped argument named it if no explicit arguments are named. If the caller does not specify any arguments, the first parameter (and, by extension, it) will be null.
That means that a Groovy Closure will always have at least one argument, called it (if not specified otherwise) and it will be null if not given as a parameter.
看个用Groovy读取本地文件内容的代码,和Java比起来短小精悍:
我的文件内容:
输出:
这种方法也行:
完整代码:
new File('c:\\temp\\1.txt').eachLine('UTF-8') { println "new line->" + it } new File('c:\\temp\\1.txt').withReader('UTF-8') { reader -> reader.eachLine { println "Another line:" + it } }
“怎么用Groovy读取本地文件的代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。