Javaストリームには新しいので、特定のファイルコンテンツを読み込み、最初から読み込む必要があります。私はBufferedInputStreamを作成していると私はBufferedInputStream.mark(int型markLimit)のマニュアルについて困惑しているbufferedinputstreamでのマーク読み取り制限の使用方法
ドキュメントは言う:
public void mark(int readlimit)
このメソッドは、ストリームのことが可能に入力位置をマークreset()メソッドを呼び出すことによって「リセット」されます。パラメータreadlimitは、マークが無効になる前にマークを設定した後にストリームから読み取れるバイト数です。たとえば、mark()が読み取り制限10で呼び出された場合、reset()メソッドが呼び出される前にストリームから11バイトのデータが読み込まれると、マークは無効であり、ストリームオブジェクトインスタンスは必須ではありませんマークを覚えています。この方法によって記憶することができるバイトの数は、内部リード・バッファのサイズよりも大きくすることができる
注意。また、マーク/リセット機能をサポートする従属ストリームにも依存しません。
オーバーライド:クラスFilterInputStream内 マーク
パラメータ: readlimit - マークが無効になる前に読み込み可能なバイト数**
私のコードは次のとおりです。
public class Test {
public static void main(String[] args) throws IOException {
File resource = new File("beforeFix.txt");
FileInputStream fileInputStream = new FileInputStream(resource);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
int i = bufferedInputStream.read();
bufferedInputStream.mark(1);
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
bufferedInputStream.reset();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
i = bufferedInputStream.read();
bufferedInputStream.reset();
}
}
上記のコードでは、marklimitを1に設定しましたが、マークは無効ではありません。
小さな例でこれを設定する実際の目的は何ですか?仕事とバックあなたがマークの位置、あなたはメモリにバッファリングするニーズをマークした後、読み込まれたデータへ行くにリセットするためには、事前
私はリセット()を呼んでいる、それは私にすべての例外をスローしません。ドキュメントごとに、マーク制限を1に設定してから2番目のバイトを読み取った後は、マークを無効にする必要がありますが、そうではありません。では、このマーク()の目的は何ですか? –
引用符で囲まれたテキストに引用符形式を使用します。そして太字を外してください。それは私たちの目を傷つける。 – EJP