実装スポンサーリンクファイルのリスト表示と連想配列の選択ユティリティーを利用してファイルを選択するユーティリティーを作りたいと思います。サブディレクトリも含めてファイル一覧を表示する連想配列から選択させるユーティリティーを作る機能を整理する/Users/myaccount/myworkディレクトリから下のファイル構成が以下のようになっているものとします。file_c.txtこのときfile_a.txt、file_b.txt、file_c.txtの他にfile_d.txtとfile_e.txtも選べるようにします。一度に全てのファイルを表示するとファイルの数が多くなるにつれ見つけにくくなってしまいます。最初の選択肢にはile_d.txtとfile_e.txtは表示させず代わりにディレクトリdir_1を選べるようにしておきます。dir_1が選択されたらdir_1の中のファイルを表示し再び選択させるようにします。このようにすればサブディレクトリが増え何層もの構造になっても深いところにあるファイルを選択することができます。サブディレクトリを含めてファイルを表示するコードをもう一度見て見ましょう。file.getName());}この後半の表示ロジックの代わりに連想配列を作成して選択させるようにします。選ぶだけなら通常の配列の順番を選択させるようにすれば良いのですが将来的に「上のディレクトリに戻る」や「キャンセル」のような配列以外の選択肢をつけたいので連想配列にしています。実装する連想配列はユーティリティー選択用のための値が文字列のものと呼び出し元で保持する値がFileのものを作ります。同じキーを使っているので連想配列選択で帰ってきたキーを元に値がFileの連想配列からファイルを取り出すことができます。選択されたものがディレクトリである場合はそのディレクトリを引数にして自分自身を呼び出す。file;}ここで注意するところは選択されたものがディレクトリである場合そのディレクトリを引数としてもう一度このメソッド自身を呼び出しているところです。これは動かして見ないとわかりにくいと思いますのでこの呼び出し処理を作り動かします。");まず最初のディレクトリにあるファイルを選択した場合の実行結果です。file_c.txtファイルを選んでください>1選ばれたファイルは/Users/myaccount/mywork/file_a.txtです。次にディレクトリを指定してからその下のファイルを選択した場合の実行結果です。file_e.txtファイルを選んでください>0選ばれたファイルは/Users/myaccount/mywork/dir_1/file_d.txtです。このように再帰的にメソッドを呼び出すと複雑なディレクトリ構成の場合でも柔軟にファイルの選択を促すことができます。ミナ・ベルジェ連想配列から選択させるユーティリティーを作るファイルを選択するユーティリティーを作る(2)関連記事wavファイルの調査(2)ではサンプルの音量を計算したいと思います。サンプルデータを扱うに当たって知るべきことは以下の2点です。両方とも前回取得でき...記事を読むテンポと拍子から時間を計算する前回は小節と拍から演奏する音符の位置を拍の単位で取得することができました。今度はその拍を元に開始からの時間を求めるようにします。前に変数の扱い方を見ました。変数を使うにはその名前と値の型を決めてから値を代入するのでした。今まではオーディオの情報を直接作り出して音楽を製作していましたがここから話題を変えてMIDIで音楽を作りたいと思います。MIDIとは1980...記事を読むwavファイルの調査(1)Javaで読み込むwavファイルを解析します。wavファイルを読み込むにはAUdioInputStreamというオブジェク...記事を読む音量を自動で最大化する(2)前回最大化をするクラスを作りました。今回はこれを利用する側を作ります。こちらは以前に作ったファイル書き出し用のクラスWavFileWrite...記事を読む楽器の音色を決める(1)前回では楽器のためのインタフェースを決めました。これを実装したクラスを作って音色のコントロールはこのクラスで行うようにします。楽器クラスが実...記事を読むJava複数のサイン波を同時に鳴らす(2)前回からの続きで複数の音を鳴らすwavファイルを作っています。複数の音源のサンプルを足し合わすことでミックスすることができます。SoundR...記事を読むJavaとMIDI:シンセサイザーのリセット前回MIDIで音を鳴らしました。ここでは音を開始するコマンドと音を終了させるコマンドを時間差でシンセサイザーに送ることによって一定時間音を鳴...記事を読むJavaとMIDI:フォリア(1)では簡単なフォリアを作ります。コルレリのバージョンの提示部の単純化したものを主旋律とします。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。外国語としてのJavaと音楽%d人のブロガーが「いいね」をつけました。