Scala - Arquivos I / O

Scala está aberto para fazer uso de qualquer objeto Java e java.io.File é um dos objetos que podem ser usados ​​na programação Scala para ler e escrever arquivos.

A seguir está um programa de exemplo para gravar em um arquivo.

Exemplo

import java.io._

object Demo {
   def main(args: Array[String]) {
      val writer = new PrintWriter(new File("test.txt" ))

      writer.write("Hello Scala")
      writer.close()
   }
}

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Irá criar um arquivo chamado Demo.txtno diretório atual, onde o programa está colocado. A seguir está o conteúdo desse arquivo.

Resultado

Hello Scala

Lendo uma linha da linha de comando

Às vezes, você precisa ler a entrada do usuário na tela e, em seguida, prosseguir para algum processamento posterior. O programa de exemplo a seguir mostra como ler a entrada da linha de comando.

Exemplo

object Demo {
   def main(args: Array[String]) {
      print("Please enter your input : " )
      val line = Console.readLine
      
      println("Thanks, you just typed: " + line)
   }
}

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

Please enter your input : Scala is great
Thanks, you just typed: Scala is great

Ler o conteúdo do arquivo

Ler arquivos é muito simples. Você pode usar o ScalaSourceclasse e seu objeto companheiro para ler arquivos. A seguir está o exemplo que mostra como ler de"Demo.txt" arquivo que criamos anteriormente.

Exemplo

import scala.io.Source

object Demo {
   def main(args: Array[String]) {
      println("Following is the content read:" )

      Source.fromFile("Demo.txt" ).foreach { 
         print 
      }
   }
}

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

Following is the content read:
Hello Scala