English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 文件 I/O

Scala 进行文件写操作,直接用的都是 java中的 I/O 类 (java.io.File):

import java.io._
object Test {
   def main(args: Array[String]) {
      val writer = new PrintWriter(new File("test.txt"))
      writer.write("基础教程网")
      writer.close()
   }
}

Executar o código acima, um arquivo test.txt será gerado no diretório atual, com o conteúdo "Tutoriais Básicos":

$ scalac Test.scala 
$ scala Test
$ cat test.txt 
Tutoriais Básicos

Ler entrada do usuário da tela

Às vezes precisamos receber instruções digitadas pelo usuário na tela para processar o programa. Exemplo a seguir:

import scala.io._
object Test {
   def main(args: Array[String]) {
      print("Por favor, insira o site oficial do Tutoriais Básicos: ")
      val line = StdIn.readLine()
      println("Obrigado, você digitou: ") + line)
   }
}

Scala2.11 versões posteriores Console.readLine Descontinuado, use o método scala.io.StdIn.readLine() em vez disso.

Executar o código acima, a mensagem será exibida na tela:

$ scalac Test.scala 
$ scala Test
Por favor, insira o site oficial do Tutoriais Básicos: pt.oldtoolbag.com
Obrigado, você digitou: pt.oldtoolbag.com

Ler conteúdo do arquivo

Ler conteúdo de arquivo é muito simples. Podemos usar Scala Source Classe e objeto companion para ler arquivo. O seguinte exemplo demonstra como ler o conteúdo do arquivo "test.txt" (já criado anteriormente):

import scala.io.Source
object Test {
   def main(args: Array[String]) {
      println("Conteúdo do arquivo:")
      Source.fromFile("test.txt").foreach{ 
         print 
      }
   }
}

Executar o código acima, o resultado de saída será:

$ scalac Test.scala 
$ scala Test
Conteúdo do arquivo:
Tutoriais Básicos