view src/goodjava/io/CountingInputStream.java @ 1802:ca98dee04e08 default tip

add Parsers.json_null
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Apr 2024 21:25:15 -0600
parents 91c167099462
children
line wrap: on
line source

package goodjava.io;

import java.io.InputStream;
import java.io.IOException;


public final class CountingInputStream extends NoMarkInputStream {
	private long count = 0;

	public CountingInputStream(InputStream in) {
		super(in);
	}

	public long count() {
		return count;
	}

	public int read() throws IOException {
		int n = in.read();
		if( n != -1 )
			count++;
		return n;
	}

	public int read(byte[] b, int off, int len) throws IOException {
		int n = in.read(b,off,len);
		if( n != -1 )
			count += n;
		return n;
	}

	public long skip(long n) throws IOException {
		n = in.skip(n);
		if( n != -1 )
			count += n;
		return n;
	}

}