Module java.base
Package java.io

# Class StringBufferInputStream

java.lang.Object
java.io.InputStream
java.io.StringBufferInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

@Deprecated public class StringBufferInputStream extends InputStream
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.

Since:
  1.0
See Also:
  - `ByteArrayInputStream`
  - `StringReader`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`buffer`
Deprecated.
The string from which bytes are read.
`protected int`
`count`
Deprecated.
The number of valid characters in the input stream buffer.
`protected int`
`pos`
Deprecated.
The index of the next character to read from the input stream buffer.

## Constructor Summary

Constructors
Constructor
Description
`StringBufferInputStream(String s)`
Deprecated.
Creates a string input stream to read data from the specified string.

## Method Summary

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

### Methods declared in class java.io.InputStream

`close, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### buffer

protected String buffer
Deprecated.
The string from which bytes are read.

### pos

protected int pos
Deprecated.
The index of the next character to read from the input stream buffer.

See Also:
  - `buffer`

### count

protected int count
Deprecated.
The number of valid characters in the input stream buffer.

See Also:
  - `buffer`

## Constructor Details

### StringBufferInputStream

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

Parameters:
  `s` - the underlying input buffer.

## Method Details

### read

public int read()
Deprecated.
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.

Specified by:
  `read` in class `InputStream`
Implementation Requirements:
  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.

### read

public int read(byte[] b, int off, int len)
Deprecated.
Reads up to `len` bytes of data from this input stream into an array of bytes.

Overrides:
  `read` in class `InputStream`
Implementation Requirements:
  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 in array `b` at which the data is written.
  `len` - the maximum number of bytes to 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.
See Also:
  - `InputStream.read()`

### skip

public long skip(long n)
Deprecated.
Skips `n` bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached.

Overrides:
  `skip` in class `InputStream`
Parameters:
  `n` - the number of bytes to be skipped.
Returns:
  the actual number of bytes skipped.
See Also:
  - `InputStream.skipNBytes(long)`

### available

public int available()
Deprecated.
Returns the number of bytes that can be read from the input stream without blocking.

Overrides:
  `available` in class `InputStream`
Returns:
  the value of `count - pos`, which is the number of bytes remaining to be read from the input buffer.

### reset

public void reset()
Deprecated.
Resets the input stream to begin reading from the first character of this input stream's underlying buffer.

Overrides:
  `reset` in class `InputStream`
See Also:
  - `InputStream.mark(int)`
  - `IOException`