skillup

技術ブログ

Java

入出力操作

投稿日:2015年3月26日 更新日:

Javaの出力処理について書きます。

下記リンクが非常に詳しかったので、これをもとにまとめてみたんですが、咀嚼できてないっぽい・・・・ もう1~2度修正がひつようかも。

Javaのファイル入出力の基本概念

入出力の種類

Javaだけに限りませんが、プログラムの入出力操作というのは大きく分けると、

  • 標準入力・出力(コマンドラインから)
  • ファイル入出力

に分けられるかと思います。この2つの処理についてみていきます。

ストリーム

Javaでは行き先を持ったデータのことをストリームと呼びます。例としては、キーボード→ファイルへの保存や逆にファイル→標準出力などです。そしてJavaでは文字列の操作を行う文字ストリームと画像などのバイナリデータのバイトストリームに分かれます。

変換処理

そのため画像などのバイナリデータはデータの変換処理が必要になってきます。また文字列であっても日本語を扱う場合、文字コード変換を行わないと文字化けのリスクがあります。そのため文字コードなどの変換処理をともなうことが一般的です。

バッファとは

バッファとは緩衝材という意味ですが、Javaの場合、データの入出力元とコンピューターの間に存在する記憶領域を指します。一般的にファイルの入出力(ディスクへのアクセス)というのは時間がかかりますのでスピードや付加を考えるとできるだけ少ないことが望ましいのです。

この回数を減らすために、ディスクと入出力の間にバッファという領域を作りここである程度の領域が使用されたらディスクにアクセスすようにします。こうすることでディスクへのアクセスする回数を減らすことができます。

処理イメージ

基本的な概念がわかったところで実際の処理、コーディングの説明をしたいと思います。

実際のJavaの入出力操作では

  1. 入出力元からの受付
  2. ストリームの変換処理
  3. バッファの使用

と考えると流れがスムーズかと思います。(バッファは使わなくても問題ありませんが実務上はほぼ使うものと思って問題ありません。)

それぞれ下記のようなクラスを使います。

入出力元からの受付処理

標準

ファイル

入力  

バイナリ形式

文字データ

出力

バイナリ形式

文字データ

変換処理

入力 

コンストラクタ

出力 

コンストラクタ

バッファの使用

入力 

コンストラクタ

メソッド

出力

コンストラクタ

実践的なコーディング

入力(ファイルの読み込み)

入力(コマンドラインからの入力)※空白実行時に停止します。

出力(ファイルへの出力)

コマンドラインの出力は System.out.print でそのまま出力すればOKです。

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

JSPでのAjax(dwr使用)

JSPネタ3本目。 Ajaxです。 こちらも独自のライブラリを使うようですね。 drwというものが有名のようです。 Contents1 dwr1.1 pomでの記述1.2 web.xml1.3 dwr …

no image

例外処理について その2

以前、「例外処理について」で例外処理について記述をしたんですが、漠然としていたのともう1回まとめなおしたかったため、メモしておきます。 Contents1 例外とは?2 例外のクラス分け2.1 Thr …

no image

Optionalについて その2

JavaEEブログなはずなのに11月はcakeのことばかり書いていて、Javaのことすら書いていないですね(汗) 今日はOptionalについて書きます。 いまいち使い方がわからなかったんですが、自分 …

no image

Mapの使い方

Javaに限らずプログラミングで最も大切になるのは配列の処理でしょう。 Javaですと、PHPのような連想配列の代わりにMapを使用します。 Contents1 Mapとは?1.1 Mapのインスタン …

no image

Javaでのメール送信プログラム

Javaでメール送信のプログラムがあったんで、メモ。 SMTPの認証とかはせず一番簡単なパターンです。 ケースでいうとサーバーA、サーバーBがあり下記のようなケースです。 A メールサーバー(smtp …