读取行:
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)