[Scala] Scala 学习笔记 (5) - 文件操作 (待补充)

文件操作

文件操作
    入参的颗粒化:将原来函数的2个入参拆开 => def sum(a:Int, b:Int) = a + b ==> def sum2(a:Int)(b:Int) = a + b

    文件读取
        Source.fromFile("test.txt")(Codec.UTF8)
        Source.fromURL("http://www.baidu.com")
    文件写入
import scala.io.{Codec, Source}
import scala.xml.XML

object FileApp extends App {

  /**
    *
    * currying 颗粒化
    * 将原来函数的2个入参拆开
    * 这种做法在Spark SQL UDF里面常用
    */
  def sum(a:Int, b:Int) = a + b
  def sum2(a:Int)(b:Int) = a + b
  println(sum(2,4))
  println(sum2(2)(4))


  println("=====================read fromFile========================")
  // val file = Source.fromFile("E:\\Language\\scala\\ScalaProjects\\scala-study\\test.txt")(Codec.UTF8)
  // 不指定文件的绝对路径时,默认的路径是maven工程的家目录
  // 读取时可以指定文件的编码方式
  val file = Source.fromFile("test.txt")(Codec.UTF8)
  def readLine() = {
    for (line <- file.getLines()) {
      println(line)
    }
  }
  readLine()

  println("=====================read fromURL========================")
  // 读接口
  def readApi(): Unit = {
    val content = Source.fromURL("http://www.baidu.com")
    for (line <- content.getLines()) {
      println(line)
    }
  }
  readApi()

//  println("=====================read fromXML========================")
//  // 了解即可
//  def readXML(): Unit = {
//    XML.load("")
//  }


}

猜你喜欢

转载自blog.csdn.net/wawa8899/article/details/81194581