Q13:テキストファイル出力コンポーネントとその中身の関係がイマイチ良く分かりません。
Q13-1:
購買管理チュートリアル07を現在読解中なのですが、テキストファイル出力コンポーネントとその中身の関係がイマイチ良く分かりません。
ファイルオブジェクトっていうのがどういうものなのか、イメージし辛い気がします。
テキストファイル出力は、ファイルを開かなくてもいきなりオブジェクトを指定して書き込んだりしています。
ファイルを閉じるというメソッドが必要なのは、処理が終わった後だけということでしょうか。要はファイルを開くという処理は必要ないのか?ということです。
テキストファイルがあった場合、そのファイルそのものがオブジェクトでファイルを開いた中身が文字列ということで良いとは思うのですが。
A13-1:
> ファイルオブジェクトっていうのがどういうものなのかイメージし辛い気がします。
ファイルクラスはJavaの仕様で定められている、ファイルに対する各種の操作を行うためのクラスです。すなわち、ファイルオブジェクトとは、ファイルそのものではなく、名前などで指定されたファイルに対する情報取得(例えば、そのファイルが存在するかどうかなど)や書き換え、コピーといった操作を行うオブジェクトということです。
> テキストファイル出力は、ファイルを開かなくてもいきなりオブジェクトを指定して書き込んだりしています。
>
> ファイルを閉じるというメソッドが必要なのは、処理が終わった後だけということでしょうか。要はファイルを開くという処理は必要ないのか?ということです。
ご指摘の通り、ファイルを開くという操作は必要です。テキストファイル出力コンポーネントの「ファイルオブジェクトを指定して文字列を書き出す(File, String)」メソッドは、内部の処理としてファイルを開いてから文字列の書き出しを行っています。
> テキストファイルがあった場合、そのファイルそのものがオブジェクトでファイルを開いた中身が文字列ということで良いとは思うのですが。
アプリケーションを作成する際に必要となる、他のファイル操作関連コンポーネント等とのデータのやり取りなどを考慮し、汎用的なファイルオブジェクトを利用する仕様になっております。