读取行:

import scala.io.Source

object FileReader {
def main(args: Array[String]): Unit = {
val source = Source.fromFile("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt", "UTF-8")
val lineIterator = source.getLines()
for (line <- lineIterator) {
println(line)
}
// lineIterator.toArray
source.close() println("-------")
val source1 = Source.fromFile("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt", "UTF-8")
println(source1.mkString)
source1.close()
}
}

读取字符:

    val source2 = Source.fromFile("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt", "UTF-8")
for (c <- source2){
println(c)
}
source2.close()

如果想读取字符或行,但是不想处理掉,简单的说就是不希望游标下移,可以使用buffered。

//读取字符
val source3 = Source.fromFile("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt", "UTF-8")
val iter = source3.buffered
while (iter.hasNext){
println("head:" + iter.head)
println("next:" + iter.next)
}
source3.close() //读取行
val source4 = Source.fromFile("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt", "UTF-8")
val lineIter = source4.getLines().buffered
while(lineIter.hasNext){
println("head:" + lineIter.head)
println("next:" + lineIter.next)
}
source4.close()

控制台读取:

import scala.io.StdIn

println("How old are you")
val age = StdIn.readInt()
println(age)

 

快学Scala 第十四课 (读取行,读取字符, 控制台读取)的更多相关文章

  1. 快学Scala 第十九课 (trait的abstract override使用)

    trait的abstract override使用: 当我看到abstract override介绍的时候也是一脸懵逼,因为快学scala,只介绍了因为TimestampLogger中调用的super ...

  2. 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)

    二进制读取文件: val file = new File("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt") val in ...

  3. 快学Scala 第十二课 (抽象类, 抽象字段, 提前定义)

    抽象类: Scala 抽象类中,抽象方法不需要使用abstract. 在子类中重写超类抽象方法时,不需要使用override. abstract class Person { def say(s: S ...

  4. 快学Scala 第二十二课 (apply和unapply)

    apply和unapply: apply方法经常用在伴生对象中,用来构造对象而不用显式地使用new. unapply是当做是伴生对象的apply方法的反向操作.apply方法接受构造参数,然后将他们变 ...

  5. 快学Scala 第十八课 (trait多继承)

    trait多继承: trait的继承并不像类拥有相同的含义!在下面这个例子中,如果还是运用类的继承的思想,那么运行结果将是什么也没有. trait Logged { def log(msg: Stri ...

  6. 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)

    shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...

  7. 快学Scala 第十课 (包和包对象)

    Scala包定义: 嵌套式: package a1 { class a1Class{ val age = 10 } package a2 { class PackageTest { def main( ...

  8. 快学Scala 第二十课 (trait的构造顺序)

    trait的构造顺序: 首先调用超类构造器 特质构造器在超类构造器之后,类构造器之前执行 特质从左向右被构造 每个特质当中,父特质先被构造 如果多个特质共有一个父特质,而那个父特质已经被构造,则不会被 ...

  9. 《快学Scala》第四章 映射与元组

随机推荐

  1. CodeForces 834D The Bakery

    The Bakery 题意:将N个数分成K块, 每块的价值为不同数字的个数, 现在求总价值最大. 题解:dp[i][j] 表示 长度为j 且分成 i 块的价值总和. 那么 dp[i][j] = max ...

  2. poj 1753 Flip Game(暴力枚举)

    Flip Game   Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 52279   Accepted: 22018 Des ...

  3. ElasticSearch常见经典面试题

    1.为什么要使用Elasticsearch? ​ 因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下 ...

  4. Vert.x Core 文档手册

    Vert.x Core 文档手册 中英对照表 Client:客户端 Server:服务器 Primitive:基本(描述类型) Writing:编写(有些地方译为开发) Fluent:流式的 Reac ...

  5. springcloud(六):Spring Cloud 配置中心采用数据库存储配置内容

    Spring Cloud 配置中心采用数据库存储配置内容 转自:Spring Cloud Config采用数据库存储配置内容[Edgware+] Spring Cloud Server配置中心采用了G ...

  6. 实验吧CTF练习题---WEB---貌似有点难解析

    实验吧web之貌似有点难   地址:http://www.shiyanbar.com/ctf/32 flag值:SimCTF{daima_shengji}   解题步骤: 1.打开题目页面,观察题目要 ...

  7. (六十七)c#Winform自定义控件-柱状图

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  8. asp.net core razor自定义taghelper

    又一个新的名词(taghelper),这个名词在netcore razor中也替代了(Htmlhelper),通过taghelper是可以操作html标签.条件输出.更是自由添加内外元素.当然也内置了 ...

  9. linux 操作系统级别监控 free命令

    free命令可以查看当前系统内存的使用情况 free -m 以MB为单位 free -k 以KB为单位 free -m 以MB为单位显示系统内存的使用情况,同理,也可以使用-k.-g等其他的单位显示 ...

  10. Python连载39-生成器、next函数、yield返回值

    ​一.生成器 1.定义(generator):一边循环一边计算下一个元素的机制/算法 2.满三个条件 (1)每次调用都能产生出for循环需要的下一个元素 (2)如果达到最后一个后,能够爆出StopIt ...