BufferedReaderの仕組みを素人なりに解き明かす【プログラミングJava研究】

BufferedReaderの仕組みを素人なりに解き明かす【プログラミングJava研究】

どうも、脱サラ理学療法士のぼんぼりです。

Javaの本やネット情報を参考にしながら、自分なりの解釈をアウトプットしております。

あくまで素人のゆるい解釈なので、おそらく実用性はないでしょう(泣)

ただ、僕みたいな業界未経験の人が、とっかかりとしてほんのりイメージできるかもしれませんね。

自分勝手な文章になるとは思いますが、生温かい目で見守っていただけるとありがたいです。

BufferedReaderのイメージ

いろんなサイトにあるミニゲームのサンプルコードを漁っていて困ったのが、このBufferedReaderです。

BufferedReaderさんがあるだけで、ちょっと拒否反応が出てくるくらいですね。

「あっ、なんかコレわからへんかも…」

みたいな。

何やら難しそうなモノの割に、出現頻度がハンパないんですよ。

ポケモンでたとえると、マサラタウンの草むらに出てくるキャタピーくらいです。

頻出構文のBufferedReaderですが、僕はこいつを「何やら読み込んだものを受け渡すもの」と理解しています。

どうも、いろいろなところから読み込まれた情報を、バッファという場所を経由させて伝達させるようです。

人体でいうところの、神経系みたいなもんですかね。

触覚とか聴覚とかのいろんな情報(データ)を、神経(バッファ)を介して伝達しているみたいな、そんな解釈です。

ただ、脳の受け取る場所が違うから感じ方の違いもきちんと識別されているという感じですね。

あくまでイメージですので、細かい違いは考慮していません。

「なんとなくわかったかな」くらいの気分で読んでみてください。

new BufferedReaderはどゆこと?

そもそも、newってのがなんですかって話ですよね。

こちらは、どうやら「演算子」のひとつだそうです。

演算子っていうのは「+ – * /」とか、何らかの演算作業を行う役割を持っている記号のことですね。

「記号やのに、newなんかい!」なんてツッコミたくなりますが、newは間違いなく演算子です。

“new”だったら、普通に文字列なんですけどね。

肝心の意味は「新しくオブジェクトを作る」ってこと。

オブジェクトって何やねんて話ですよね。

もう、プログラミングの勉強していると「何やねん」て言葉ばっかり出てきて困ります。

ただ、そこは業界に馴染むべく、ひたすら体で覚えるしかないですね。

オブジェクトは「ある機能を持った部品のまとまり」みたいなニュアンスで捉えていますが、そうなってくると「クラス」とかとごちゃっとなりそうなんで、気になる人はググってみるか本で調べてみてください。

僕みたいな業界未経験の人なら、きっと混乱することでしょう(^_^;)

混乱したら、とりあえずコードを書いて手を動かしておくのが得策ですね。

InputStreamReaderはクラスです

こちらも、クラスです。

ストリームっていう情報の流れを支える機能の中でも、入力側のクラスです。

情報の流れの方向は、入力か出力かの2方向しかありませんからね。

「こいつは、なんか入力するやつか!」くらいの理解です。

なんせ、ストリームってのがかなり重要な機能らしいので、要チェックですね。

System.inとかSystem.outについて

プロゲートを無課金で勉強しているとSystem.out.printin();しか出力で使っていなかったので、てっきりこれしかプログラミングの出力の手段はないと勝手に思い込んでいました。

思い込みって怖いですよね〜。

まさか、System.inがあるなんて、思いもよりませんよね。

これはきちんと本を買って勉強してみないと、盲目な僕にはわかりませんでした。

○.readLine();でどう動くのか

BufferedReaderの流れでこのreadLineを使うのですが、言葉の意味はまだよくわかりません(泣)

でも、これを記した箇所で、キーボードの文字入力がされます。

readLineを1箇所作れば1つだけ文字が入力できますし、3箇所作れば3つ文字が入力できます。

どうやら、通り道を整備したあと、最終的にキーボード入力を「どこでするのか」というのは、このreadLineで決まるようですね。

まとめ:ちょっと楽しくなってきた!

プログラミングの用語が少しづつわかるようになってきました。

わかるようになったというか「なんかどっかで見たことある!」って感じです。

既視感ですよね。

地味だけど、こうやって少しづつ知識が膨らんでいくと思うと、楽しみですね。

ゴールデンウィークも近いので、近々24時間耐久プログラミングに挑戦してみてもいいかもしれません。

プログラミング脳に、俺はなる!