StringBufferInputStream

public class StringBufferInputStream extends InputStream

This class is deprecated.
This class does not properly convert characters into bytes. As of JDK 1.1, the preferred way to create a stream from a string is via the StringReader class.

This class allows an application to create an input stream in which the bytes read are supplied by the contents of a string. Applications can also read bytes from a byte array by using a ByteArrayInputStream.

Only the low eight bits of each character in the string are used by this class.

Field Summary

protected String buffer The string from which bytes are read.
protected int count The number of valid characters in the input stream buffer.
protected int pos The index of the next character to read from the input stream buffer.

Public Constructor Summary

StringBufferInputStream(String s)
Creates a string input stream to read data from the specified string.

Public Method Summary

synchronized int
available()
Returns the number of bytes that can be read from the input stream without blocking.
synchronized int
read()
Reads the next byte of data from this input stream.
synchronized int
read(byte[] b, int off, int len)
Reads up to len bytes of data from this input stream into an array of bytes.
synchronized void
reset()
Resets the input stream to begin reading from the first character of this input stream's underlying buffer.
synchronized long
skip(long n)
Skips n bytes of input from this input stream.

Inherited Method Summary

Fields

protected String buffer

The string from which bytes are read.

protected int count

The number of valid characters in the input stream buffer.

See Also

protected int pos

The index of the next character to read from the input stream buffer.

See Also

Public Constructors

public StringBufferInputStream (String s)

Creates a string input stream to read data from the specified string.

Parameters
s the underlying input buffer.

Public Methods

public synchronized int available ()

Returns the number of bytes that can be read from the input stream without blocking.

Returns
  • the value of count - pos, which is the number of bytes remaining to be read from the input buffer.

public synchronized int read ()

Reads the next byte of data from this input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned.

The read method of StringBufferInputStream cannot block. It returns the low eight bits of the next character in this input stream's buffer.

Returns
  • the next byte of data, or -1 if the end of the stream is reached.

public synchronized int read (byte[] b, int off, int len)

Reads up to len bytes of data from this input stream into an array of bytes.

The read method of StringBufferInputStream cannot block. It copies the low eight bits from the characters in this input stream's buffer into the byte array argument.

Parameters
b the buffer into which the data is read.
off the start offset of the data.
len the maximum number of bytes read.
Returns
  • the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.

public synchronized void reset ()

Resets the input stream to begin reading from the first character of this input stream's underlying buffer.

public synchronized long skip (long n)

Skips n bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached.

Parameters
n the number of bytes to be skipped.
Returns
  • the actual number of bytes skipped.