Scalaでファイルを読み込む
こんにちは、KUJIRAです。今日はファイルの読み込みをやります。やっぱり実践第一です。上達するにはプログラムのソースを組むにかぎります。ということで以下にコードを書きます。
1 2 3 4 5 6 7 |
import scala.io.Source if(args.length > 0) { for(line <- Source.fromFile(args(0)).getLines()) println(line) } else Console.err.println("Please enter filename") |
1行ずつ見ていきます。
まず1行目
1 |
import scala.io.Source |
ファイルの読み込みには「scala.io.Source」をインポートする必要があります。
次の処理の
1 2 3 4 |
if(args.length > 0) { 処理1 } else 処理2 |
は引数があるかないかを判定しています。引数がある場合はファイルを読み込む処理へ、引数がない場合はエラー処理へ行きます。
引数が存在する場合の処理を見てみましょう。
1 2 |
for(line <- Source.fromFile(args(0)).getLines()) println(line) |
「Source.fromFile(args(0))」は引数で渡されるファイルパスからファイルのオープンを試みて成功した場合にSourceオブジェクトを返すことになっております。その返ってきたSourceオブジェクトに対して「getLines()」というメソッドでイテレータを返します。そのため取得した値をfor文でループさせ、次の「println(line)」で一行ずつ出力しています。
最後にエラー処理を見ます。
1 |
Console.err.println("Please enter filename") |
この文はコンソールの標準エラー出力にメッセージを出力します。
以上がファイルの読み込みの基本プログラムです。Javaのより全然簡単です。コードも短いしバグる事も少なそうです。。。ということで今日はここまで、KUJIRAでした。