scala詳細筆記(十二)scala之IO

1 輸入

1.1 輸入行

**
  * @author Hangge.z  WX:17710299606
  */
object LineIO {
  def main(args: Array[String]): Unit = {
   // 讀取文件
    val bs: BufferedSource = Source.fromFile("d://data.txt")
    // 獲取所有的行
    val lines: Iterator[String] = bs.getLines()
    // 遍歷所有的行
    for (line <- lines) {
      println(line)
    }
    // 行列表
    val list: List[String] = lines.toList
    //行數組
    val array: Array[String] = lines.toArray
    // 整個字符串
    val content: String = lines.mkString
    // 釋放資源
    bs.close()
  }
}

1.2 輸入字節

**
  * @author Hangge.z  WX:17710299606
  *
  */
object ByteIo {
  def main(args: Array[String]): Unit = {
    val bs: BufferedSource = Source.fromFile("d://data.txt")
    // 獲取輸入流對象
    val reader: InputStreamReader = bs.reader()
    //跳過指定長度  到指定位置
    reader.skip(1)
    // 讀取一個字節 
    val byte: Int = reader.read()
    println(byte) // 99
    reader.close()
    bs.close()
  }
}


def main(args:Array[String]):Unit={
  val file = new File("F:\\info.bin")
  val in = new FileInputStream(file)
  val bytes = new Array[Byte](file.length.toInt)
  in.read(bytes)
  in.close

1.3 讀取外部數據源

/從URL讀取
val source= Source.fromURL("http://www.baidu.com","UTF-8")
val lineIterator =source.getLines
for(l<-lineIterator){
  println(l.toString())
}


//從給定的字符串讀取--調試有用
val source2= Source.fromString("Hello DOIT")
println(source2.mkString)//Hello DOIT

//從標準輸入讀取
val in: BufferedReader = Console.in
println(in.readLine())

 

2 輸出

def main(args: Array[String]): Unit = {
  val out = new PrintWriter("F:\\aa.txt")
  for(i<-1 to 100)
    out.println(i)
p.write("")
p.write(Array[Char]('a'))
p.append("")

  out.close
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章