快学Scala 第十四课 (读取行,读取字符, 控制台读取)
读取行:
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 第十四课 (读取行,读取字符, 控制台读取)的更多相关文章
- 快学Scala 第十九课 (trait的abstract override使用)
trait的abstract override使用: 当我看到abstract override介绍的时候也是一脸懵逼,因为快学scala,只介绍了因为TimestampLogger中调用的super ...
- 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)
二进制读取文件: val file = new File("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt") val in ...
- 快学Scala 第十二课 (抽象类, 抽象字段, 提前定义)
抽象类: Scala 抽象类中,抽象方法不需要使用abstract. 在子类中重写超类抽象方法时,不需要使用override. abstract class Person { def say(s: S ...
- 快学Scala 第二十二课 (apply和unapply)
apply和unapply: apply方法经常用在伴生对象中,用来构造对象而不用显式地使用new. unapply是当做是伴生对象的apply方法的反向操作.apply方法接受构造参数,然后将他们变 ...
- 快学Scala 第十八课 (trait多继承)
trait多继承: trait的继承并不像类拥有相同的含义!在下面这个例子中,如果还是运用类的继承的思想,那么运行结果将是什么也没有. trait Logged { def log(msg: Stri ...
- 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)
shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...
- 快学Scala 第十课 (包和包对象)
Scala包定义: 嵌套式: package a1 { class a1Class{ val age = 10 } package a2 { class PackageTest { def main( ...
- 快学Scala 第二十课 (trait的构造顺序)
trait的构造顺序: 首先调用超类构造器 特质构造器在超类构造器之后,类构造器之前执行 特质从左向右被构造 每个特质当中,父特质先被构造 如果多个特质共有一个父特质,而那个父特质已经被构造,则不会被 ...
- 《快学Scala》第四章 映射与元组
随机推荐
- POJ-2230-Watchcow-欧拉回路的路径输出+结构体
Watchcow 这道题的题意好理解,就是要从1出发,每条边都走两遍,最后再回到1: 但是,我一开始没有想到和欧拉回路有什么关系: 学了求欧拉的dfs()后,试了一下发现和样例差不多: 感觉求回路,什 ...
- 共价大爷游长沙 lct 维护子树信息
这个题目的关键就是判断 大爷所有可能会走的路 会不会经过询问的边. 某一条路径经过其中的一条边, 那么2个端点是在这条边的2测的. 现在我们要判断所有的路径是不是都经过 u -> v 我们以u为 ...
- Atcode B - Colorful Hats(思维)
题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_b 题解:挺有意思的题目主要还是模拟出最多有几种不可能的情况,要知道ai的差距不能超过1这个想想就 ...
- lightoj 1030-B - Discovering Gold (概率dp)
题意:有一个直线的金矿,每个点有一定数量的金子:你从0开始,每次扔个骰子,扔出几点就走几步, 然后把那个点的金子拿走:如果扔出的骰子超出了金矿,就重新扔,知道你站在最后一个点:问拿走金 子的期望值是多 ...
- hdu 4614 Vases and Flowers(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4614 题意: 给你N个花瓶,编号是0 到 N - 1 ,初始状态花瓶是空的,每个花瓶最多插一朵花. ...
- NPOI导出Excel封装
直接上代码 public class ExcelUtils { public static ICellStyle CreateStyle(IWorkbook workbook, string font ...
- Git暂存本地代码,强制获取远程最新代码
一:git stash // 把本地修改的代码压到git栈中去 二:git pull // 本地代码压栈之后,pull远程代码会完全覆盖本地代码 三:git stash list // 可以查看 ...
- Apache RocketMQ 消息队列部署与可视化界面安装
一.介绍 Apache RocketMQ是一个分布式.队列模型的消息中间件,具有低延迟.高性能和高可靠.万亿级容量和灵活的可扩展性.核心组件由四部分组成:Name Servers,Brokers,Pr ...
- java PDF转word的初步实现
package com.springboot.springboot.util; import java.io.File; import java.io.FileOutputStream; import ...
- C#Post提交解析XML文件
protected string GetWebContent(string url) { Stream outstream = null; Stream ins ...