■ はじめに
今更だが、Scalaのファイル入出力。
目次
【1】読み込み 例1:一行づつ表示 【2】書き込み 例1:テンプレートファイルを読み込み置換したものをファイル出力
【1】読み込み
例1:一行づつ表示
import scala.io.Source object Hello { def main(args: Array[String]) { val fileSource = Source.fromFile("C:/tmp/hello.txt") try { for (line <- fileSource.getLines) { println(line) } } finally { fileSource.close } println("Done...") } }
C:/tmp/hello.txt
Hello World !!!
【2】書き込み
例1:テンプレートファイルを読み込み置換したものをファイル出力
import scala.io.Source import java.nio.file.{Paths, Files} import java.nio.charset.StandardCharsets object Hello { def main(args: Array[String]) { val fileSource = Source.fromFile("C:/tmp/template.txt") val wholeContent = fileSource.mkString var result = wholeContent.replaceAllLiterally("${{name}}", "Mike") result = result.replaceAllLiterally("${{today}}", "2023-04-08") println(result) // Write Files.write( Paths.get("C:/tmp/output.txt"), result.getBytes(StandardCharsets.UTF_8) ) println("Done...") } }
C:/tmp/template.txt
Hello, ${{name}}!! ${{name}} is a good person. Today is ${{today}}.
C:/tmp/output.txt
Hello, Mike!! Mike is a good person. Today is 2023-04-08.
関連記事
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2023/01/07/000000
Scala ~ 基本編 / メソッド ~
https://dk521123.hatenablog.com/entry/2023/03/03/000000
Scala ~ 基本編 / クラス ~
https://dk521123.hatenablog.com/entry/2023/03/14/000857
Scala ~ 基本編 / コレクション ~
https://dk521123.hatenablog.com/entry/2023/03/13/000345
Scala ~ ファイルハンドリング ~
https://dk521123.hatenablog.com/entry/2023/01/03/000000
Scala ~ ファイル名・パスの扱い ~
https://dk521123.hatenablog.com/entry/2023/03/11/000000
Scala ~ YAML ~
https://dk521123.hatenablog.com/entry/2023/03/16/012034
Scala ~ JSON ~
https://dk521123.hatenablog.com/entry/2023/04/04/000733
Scala ~ JDBC / DB接続 ~
https://dk521123.hatenablog.com/entry/2023/03/26/000950
Scala ~ AWS SDK ~
https://dk521123.hatenablog.com/entry/2023/03/24/211033
Scala ~ AWS SDK / S3サンプル ~
https://dk521123.hatenablog.com/entry/2023/04/01/002005
Scala ~ AWS SDK / Secrets Managerサンプル ~
https://dk521123.hatenablog.com/entry/2023/04/03/012600
SBT ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/22/000000