0

昨日ファイル処理を学びました。私にとってクラスの使用法について混乱があります。たとえば、いくつかの例は次のようになりました

  Paths  myfile= paths.get("c:\\Sample.txt");
  OutputStream  opt= new  BufferedOutputStream(myfile.hew OutputStream(CREATE));
  BufferedWriter br= new BufferedWriter( new OutputStreamWriter(opt));
  br.write();.....  ;       

and so on 

これは一方向で、どこかで見つけました

  BufferedWriter bf = new BufferedWriter( new FileWriter("c:\\Sample.txt"));
  bf.write("Hello  File Handling ");'

上記のコードでファイルを作成していて、2番目のコードが書き込みを行っているかどうかは関係ありません。聞きたい

最初の例では親(OutputStream)クラスを使用してからコードを実行
し、2番目の例では親クラスを使用する代わりにBufferedWriterを直接使用します。そのためのロジックは何ですか。つまり、親クラスを使用すると違いが生じます。何か大きなことをしている間、または私たちはどんな論理にも行くことができます

ご協力いただきありがとうございます

4

1 に答える 1

0

何を求めているのかは少しわかりませんが、Java IOクラスは、デコレータパターンを使用して、入力ストリームまたは出力ストリームからの読み取りと書き込みのさまざまな方法を実現します。これにより、データのロードと書き込みの方法に柔軟性がもたらされます。これは、それぞれが現在のタイプを装飾できるためです。

IOのデコレータパターン

デコレータパターン

于 2012-10-25T20:39:59.310 に答える