Javaで1行ずつテキストデータを読み込むイディオムの変遷
テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。
スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。
新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。
そこで今回は、"read-lines"の変遷についてまとめてみました。
最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。
Potaufeu 1.0.0 beta3
MozBackupでFirefoxとThunderbirdのらくらく引っ越し
PCの交換があったので、FirefoxとThunderBirdの引っ越しをしたいけど、以前の引っ越しでは標準のプロファイル移動だけでやってみたところ、面倒な上に設定を完全にはコピーできないのでちょっと不満でした。
他に方法が無いか探してみたら、見つかりました。
MozBackupというツールです。
Potaufeu 1.0.0 beta2
Potaufeu 1.0.0 beta1
find
コマンド的なユーティリティーです。
以前作ったものをJava8で書き直したものです。
ただし互換性はほとんどありません。
読みは「ポトフ」です。煮込み料理つながりということで。
特徴?
主要な機能は、Java7で追加されたNIO.2、Java8で追加されたラムダ式、ストリームを使って実現しています。
また、以下のライブラリーを使っています。
あと、まだまだ未完成ですが、結果をキャッシュして操作できるようにしています。
コマンド名はpotf
。
おわりに
本当はJava8正式リリース直後の1年前に作っておきたかったのですが、やる気が出なくて...
まあでもこれで一旦区切りがついたので、これからもっと本格的な何かを作るのに取り組みたいと思います。
Concurrency Utilitiesの「再」まとめ - Java8対応版
以前、このような記事を書きました。
- Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26)
前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけにフォーカスして、全体が分かるように整理してまとめ直しました。
目次
続きを読む