感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Scalaでテキストファイルを読み込んでコンソールに表示してみるサンプル

<スポンサーリンク>

フォルダ構成はこんな感じ。
f:id:sho322:20140113081405j:plain

このsample.txtを読み込んでコンソールに表示してみる。

I'm a sample text!

以下がファイルを読み込むメソッドを定義したクラス。
filereadのこと。

package io

import java.io.BufferedReader
import java.io.FileInputStream
import java.io.IOException
import java.io.InputStreamReader

class TextIO {

	@throws(classOf[IOException])
	def fileread(filename: String, encoding: String): String = {
	  val builder = new StringBuilder
	  var in: FileInputStream = null
	  var reader: InputStreamReader = null
	  var buf: BufferedReader = null

	  try {
	    in = new FileInputStream(filename)
	    reader = new InputStreamReader(in, encoding)
	    buf = new BufferedReader(reader)
	    var c = buf.read()
	    while (c != -1) {
	      builder.append(c.toChar)
	      c = buf.read()
	    }
	    builder.toString
	  } finally {
	    if (buf != null) {
	      buf.close()
	    } else if (reader != null) {
	      reader.close()
	    } else if (in != null) {
	      in.close()
	    }
	  }
	}

}

で、こいつを動かす側がこれ。

package sample

import io.TextIO

object HelloScala extends App {
	var fileIo = new TextIO()
	var str = fileIo.fileread("sample.txt", "utf-8")
	println(str)
}

実行すると・・・
f:id:sho322:20140113081415j:plain

勉強した本

ボクらのScala ~ 次世代Java徹底入門

ボクらのScala ~ 次世代Java徹底入門

サンプルがとても豊富な本。
そして、日本語の解説がめちゃくちゃ充実している。

ただちょっと、初めて勉強するには難しいかもしれない。
JavaプログラマのためのScalaプログラミングと並行して読んで、なんとか理解できる感じ。
特に中級者にとって、非常にためになる本だと思う。