JAVAの入出力について

手抜きシリーズ( ゜Д゜)y─┛~~~~~

ま、ネタがないのですが(;´Д)yヾ

またまた引用です。



JAVAの入出力について / たか
今入出力について勉強しているのですが、基本的な部分の理解にかけていて困っています。
以下の点についてご返事いただけないでしょうか。

1.バッファとは・・・
2.バイト配列とは・・・
3.markメソッドの引数に0を入れても-の数字を入れてもエラーがでないんですが、
どんな数値を入れておいてもresetされるんですか?
markメソッドについて教えてください。

4.入出力について詳しく述べられているサイトがあれば教えてください。

よろしくお願いします。

No.32 2004/05/02(Sun) 01:55

                                                                                                                                                              • -

  Re: JAVAの入出力について / 管理人
  1、一時的にメモリへデータを保存しておくこと

2、データを1バイトづつバイト型変数の配列に格納すること

3、mark(int)→マーク位置を設定するメソッド。mark→現在のマーク位置を示すフィールド
reset()→マーク位置までバッファを戻すメソッド

4、APIリファレンス

こんな感じでよろしいでしょうか?

勉強がんばってくださいね。

No.33 2004/05/02(Sun) 18:54

                                                                                                                                                              • -

  Re: JAVAの入出力について / たか
  返信ありがとうございます
しかし、markの引数に100を入れてもマイナスの数を入れても同じ結果が得られるのですが・・・どういうことなんですか?

No.34 2004/05/03(Mon) 00:56

                                                                                                                                                              • -

  Re: JAVAの入出力について / 管理人
  こんばんわ、、、ふたたびです
mark(int readlimit)のreadlimitとは、
何バイト分先読みできるかということです。
まず、mark(int readlimit)がよばれると
BufferedInputStreamクラスのprotected int marklimitフィールドに、
readlimitの値がわたされます。

それとともにprotected int markposフィールドに現在のオフセット位置がわたされます。

そして、reset()メソッドが呼び出されると、
上記のフィールドmarkposの値をもとにオフセット位置を戻すのですが、
marklimitフィールドが参照されている場所というのは、
private fill() throws IOException
というメソッドが呼ばれたときだけなのです。

しかもそのメソッドの中でも目安程度にしか使われておらず、
「とりあえずはmarklimitとデフォルトで確保したバッファ配列を比べてみて、
marklimitのほうがおおきかったら、
marklimitの値をもとに配列を確保しなおす」程度の扱いです(笑)
(正確に細かくいうと多少違いますが、イメージ的にはこんな感じです)。
仮にmarklimitを基準に確保しなおしたバッファで足りなくなったとしても、
オーバーフローしないようにバッファを新たに確保しなおしてしまいます。
だらだらとした説明になりましたがおわかりいただけたでしょうか??

No.37 2004/05/04(Tue) 15:25

                                                                                                                                                              • -

  Re: JAVAの入出力について / たか
  とってもわかりやすかったです。ありがとうございます!

No.40 2004/05/04(Tue) 20:05