ファイル入出力の基本パターンです。
1.ファイルを開く
2.ファイルを読み込む 又は 書き込む
3.ファイルを閉じる
ファイルの入出力は現場でも応用価値が高く、
自分でプログラムを組むときもとても役に立ちます。
入力したデータを保存するときなど、
必ずファイルの入出力を使いますし、
Serializeという機能の理解にも通じます。
読み込んだファイルに対する処理はどこでするの?
と私は学習当初思ったので説明しておきます。
ファイルに対する処理をするのは2パターンあって、
1.読み込みながら処理する。
2.読み込んだ後処理する。
の2パターンです。
1の場合、
1.ファイルを開く
2.ファイルを読み込む
ここで処理をする
3.ファイルを閉じる
となります。
2の場合、読み込んだ情報は一旦メモリに格納します。
つまり、
1.ファイルを開く
2.ファイルを読み込みながら、メモリに格納する。
3.ファイルを閉じる
ここでメモリを呼び出して処理する
となりなす。
2の場合のメモリとは、例えば変数に格納しておく。
というのでもいいですし、バッファーという、
一時的な記憶領域(これも変数のようなもの)に退避させておくこともります。
今日はファイルの入出力を勉強しましょう。
ファイル入出力関連のクラスは沢山あり、
私が独学で勉強したときはとてもややこしく感じました。
あなたが同じように混乱しないように、
分かりやすくまとめたので参考にしてください。
多くの関連クラスがあり、複雑なことを勉強するときのコツは、
まず、複雑な中から1つ単純なことをしっかり理解すること。
そして、その他のものは最初に理解した単純なことの
派生形、もしくは付け足し形として理解することです。
この考え方は、私が現場で単体テストをやっていて習得しました。
単体テストでは多くの組み合わせパターンがあり、
同時に全部テストしようとすると頭が混乱してしまいます。
ですので、多くのパターンの中から最も単純なパターンを1つやる。
その他のパターンは単純パターンの派生形としてテストする。
そうやると遠回りに見えて、実は最短でテストする方法だったりします。
次回以降、ファイル関連クラスを勉強します。
まずはその一番の単純な形であり、
基本となるパターンであるFileクラス,Readerクラス,Writerクラス
をやっていきましょう^^
ファイル入出力関連のクラスは沢山あり、
私が独学で勉強したときはとてもややこしく感じました。
あなたが同じように混乱しないように、
分かりやすくまとめたので参考にしてください。
多くの関連クラスがあり、複雑なことを勉強するときのコツは、
まず、複雑な中から1つ単純なことをしっかり理解すること。
そして、その他のものは最初に理解した単純なことの
派生形、もしくは付け足し形として理解することです。
この考え方は、私が現場で単体テストをやっていて習得しました。
単体テストでは多くの組み合わせパターンがあり、
同時に全部テストしようとすると頭が混乱してしまいます。
ですので、多くのパターンの中から最も単純なパターンを1つやる。
その他のパターンは単純パターンの派生形としてテストする。
そうやると遠回りに見えて、実は最短でテストする方法だったりします。
次回以降、ファイル関連クラスを勉強します。
まずはその一番の単純な形であり、
基本となるパターンであるFileクラス,Readerクラス,Writerクラス
をやっていきましょう^^
今日、帰りがけに先輩とした話です。
「Y君、技術極めても仕方ないで。」
どうゆうことですか?
「今、プログラミングとかは誰でもできる方向になってきている。
そういうのは中国とかオフショアで開発するようになってるから、
技術を極めても仕方ないんだよ。」
私は今、もっかOCJ-Pの勉強中なので、
頭を殴られた気がした。
技術を極めようとしていたから。
ただ、確かに先輩の言ってることは正論。
技術を極めて何ぼの時代ではない。
さらに先輩曰く、
「もっと日本人にしかできないこと。
業務知識とかがあったら強いよ。
業務の話ができる人が求められている。」
だそうです。
ただ、私としては技術は少なからず必要だと思う。
まず、技術があれば食いっぱぐれない。
どれだけオフショアが進んだとしても、
やっぱり日本で開発をするメリットはある。
プログラミングができるだけで、
昔ほど給料はもらえないにしても、
やっぱり技術をもっているというのは強い。
何年たっても、そこそこの給料はもらえるだろう。
もちろん、ずっとJavaでってわけにはいかないにしても。
私が思うに、プログラミングのスキルとして、
OCJ-Pのレベルがあれば十分だと思う。
何よりもJavaは10年はなくならない気がしている。
AndroidもJavaで開発するし、
業務系の開発ではダントツでJavaが強いから。
OCJ-Pレベルの知識があれば、
他の言語も簡単に習得できるし、
IT技術者の基礎としては十分だろう。
Javaは今の開発言語で主流のオブジェクト指向の代表。
王様みたいなもんだ。
だからやっぱり、Javaができるってのは強い。
何よりJavaははっきり言って、
誰にでもできるものではないと感じている。
私は会社に入る前に、
職業訓練でPHPという、
Javaよりも簡単な言語の講座を受けていた。
受けていた人が誰でも使えるようになったか?
というと、ほとんど使い物にならなかった。
だから、やっぱりプログラミングスキルは役立つ。
そして、私の決心は固くなった。
「早く、OCJ-Pを取得しよう。」と。
みんなも頑張りましょう。
絶対、Java使えたら将来明るい!!!
「Y君、技術極めても仕方ないで。」
どうゆうことですか?
「今、プログラミングとかは誰でもできる方向になってきている。
そういうのは中国とかオフショアで開発するようになってるから、
技術を極めても仕方ないんだよ。」
私は今、もっかOCJ-Pの勉強中なので、
頭を殴られた気がした。
技術を極めようとしていたから。
ただ、確かに先輩の言ってることは正論。
技術を極めて何ぼの時代ではない。
さらに先輩曰く、
「もっと日本人にしかできないこと。
業務知識とかがあったら強いよ。
業務の話ができる人が求められている。」
だそうです。
ただ、私としては技術は少なからず必要だと思う。
まず、技術があれば食いっぱぐれない。
どれだけオフショアが進んだとしても、
やっぱり日本で開発をするメリットはある。
プログラミングができるだけで、
昔ほど給料はもらえないにしても、
やっぱり技術をもっているというのは強い。
何年たっても、そこそこの給料はもらえるだろう。
もちろん、ずっとJavaでってわけにはいかないにしても。
私が思うに、プログラミングのスキルとして、
OCJ-Pのレベルがあれば十分だと思う。
何よりもJavaは10年はなくならない気がしている。
AndroidもJavaで開発するし、
業務系の開発ではダントツでJavaが強いから。
OCJ-Pレベルの知識があれば、
他の言語も簡単に習得できるし、
IT技術者の基礎としては十分だろう。
Javaは今の開発言語で主流のオブジェクト指向の代表。
王様みたいなもんだ。
だからやっぱり、Javaができるってのは強い。
何よりJavaははっきり言って、
誰にでもできるものではないと感じている。
私は会社に入る前に、
職業訓練でPHPという、
Javaよりも簡単な言語の講座を受けていた。
受けていた人が誰でも使えるようになったか?
というと、ほとんど使い物にならなかった。
だから、やっぱりプログラミングスキルは役立つ。
そして、私の決心は固くなった。
「早く、OCJ-Pを取得しよう。」と。
みんなも頑張りましょう。
絶対、Java使えたら将来明るい!!!