こちらからサンプルプログラムをダウンロードできます。

最初のテーマは,すべてのアプリケーション・プログラムの基本ともいえる「ファイルの扱い方」です。題材として,単純なファイル内検索ツールを作ります。指定したテキスト・ファイルの中から特定の語が何行目にあるかという情報を取得し,別のファイルに出力するプログラムです。このツールを作る過程でJavaでのファイル操作を見ていきます。

 皆さんは日々の業務の中でどのような作業をしているでしょうか? ExcelやWordのファイルを編集したり,何かをWebで検索したりといった作業が多いと思います。こうした作業はたいてい煩雑で単調なものです。例えば「いちいちファイルを開いて単語検索したりするのは面倒だなぁ」と思ったことがあるかもしれません。筆者の周りでも,多くの人が「面倒だ,面倒だ」とつぶやきながら単調な手作業を繰り返しています。こうした手作業は,本来,人間がすべきものではありません。コンピュータに任せる,つまり,プログラミング言語を使って自動化すべきものです。人間はラクしなければならないのです!

Javaはもはやデファクト・スタンダード

 でも,「プログラミングはおっくうだから手作業でいいや」とつい思ったりしませんか? そうした人はちょっと考え方を変えてみてください。仕事をラクにするためのプログラミングを日常的に行っていれば,仕事がラクになるだけでなく,プログラミングの練習にもなります。ラクをしながら技術が身に付く。まさに一石二鳥ですね。そこでお勧めしたいのがJavaによるプログラミングです。お仕事プログラミングの世界では,Javaはもはやデファクト・スタンダードです。どんなプログラマでも,Javaを身につけておいて損はありません。

 Javaの教科書にはオブジェクト指向などの難しい概念が出てきます。そのせいで「Javaってなんだか難しそう」と思っている人もいるでしょう。ただ,そのような難しい概念はJavaを使えるようになってから理解すればよいのです。「習うより慣れろ」です。いくつかのポイントさえ押さえれば,とりあえずJavaを正しく使えるようになります。あとはその応用です。さいわい,JavaではテキストやExcel/Wordのファイル,ネットワーク通信や画像まで幅広く扱うための手段が提供されています。定型的な単純作業はJavaに任せてしまいましょう。

 本記事では毎回,日々の業務で使えそうな簡単なツールを作成することで,Javaによる実際の開発方法を解説します。それを通して,これからJavaを学ぼうという人や,興味あるけどまだあんまり知らないなぁという人に向けて,Javaの基礎や押さえるべきポイントを紹介していきます。

ポイントを押さえればファイルの扱いは難しくない

 日々の業務の中では,テキストやExcel/Word,画像といった様々なファイルを編集する機会が多いと思います。こうした作業は,いわばすべて「ファイル操作」です。そこで,第1回である今回は,Javaによる基本的なファイル操作を取り上げます。題材として,単純なファイル内検索ツールを作ります。指定したテキスト・ファイルの中から特定の語が何行目にあるかという情報を取得し,別のファイルに出力するプログラムです。このツールを作る過程でJavaでのファイル操作を見ていきます。

 Javaでファイルを扱う際に押さえておくべきポイントは次の二つです。

(1)ファイル操作のためのクラスを知る
(2)ファイル操作の定型を知る

 これらのポイントさえ押さえれば,あとはほとんどのファイル操作に応用できます。

 まずは,実際のコードでイメージをつかんでおきましょう。Javaでファイルにアクセスする簡単なサンプル・コードをリスト1に示します。

リスト1●Javaでファイルにアクセスする簡単なサンプル・コード。例外処理がないので実際には動作しない
リスト1●Javaでファイルにアクセスする簡単なサンプル・コード。例外処理がないので実際には動作しない

 最初にFileReaderというクラスを使ってtest.txtというテキスト・ファイルを開いています。パスの指定で,「¥」をエスケープするために「¥¥」としている点に注意してください。次に,readメソッドを使ってファイルの最初の1文字を読み込み,System.out.printlnで表示しています。readの返り値はint型なので,文字として表示するためにchar型でキャストしています。最後に,closeメソッドでファイルを閉じています。

 たったこれだけです。特に難しいところはありませんね。ただ,このコードには例外処理などが書かれてないため,実際には動作しません。例外処理を含めたきちんとした書き方はあとで説明します。