A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way.
More...
Public Member Functions |
| DataInputStream (InputStream *inputStream, bool own=false) |
| Creates a DataInputStream that uses the specified underlying InputStream.
|
virtual | ~DataInputStream () |
virtual bool | readBoolean () |
| Reads in one byte and returns true if that byte is nonzero, false if that byte is zero.
|
virtual char | readByte () |
| Reads and returns one input byte.
|
virtual unsigned char | readUnsignedByte () |
| Reads one input byte, zero-extends it to type int, and returns the result, which is therefore in the range 0 through 255.
|
virtual char | readChar () |
| Reads an input char and returns the char value.
|
virtual double | readDouble () |
| Reads eight input bytes and returns a double value.
|
virtual float | readFloat () |
| Reads four input bytes and returns a float value.
|
virtual int | readInt () |
| Reads four input bytes and returns an int value.
|
virtual long long | readLong () |
| Reads eight input bytes and returns a long value.
|
virtual short | readShort () |
| Reads two input bytes and returns a short value.
|
virtual unsigned short | readUnsignedShort () |
| Reads two input bytes and returns an int value in the range 0 through 65535.
|
virtual std::string | readString () |
| Reads an NULL terminated ASCII string to the stream and returns the string to the caller.
|
virtual std::string | readLine () |
| Reads the next line of text from the input stream.
|
virtual std::string | readUTF () |
| Reads a modified UTF-8 encoded string in ASCII format and returns it, this is only useful if you know for sure that the string that is to be read was a string that contained all ASCII values (0-255), if so this method will throw a UTFFormatException.
|
virtual void | readFully (unsigned char *buffer, int size) |
| Reads some bytes from an input stream and stores them into the buffer array buffer.
|
virtual void | readFully (unsigned char *buffer, int size, int offset, int length) |
| Reads length bytes from an input stream.
|
virtual long long | skipBytes (long long num) |
| Makes an attempt to skip over n bytes of data from the input stream, discarding the skipped bytes.
|
| FilterInputStream (InputStream *inputStream, bool own=false) |
| Constructor to create a wrapped InputStream.
|
virtual | ~FilterInputStream () |
virtual int | available () const |
| Indicates the number of bytes available.The default implementation of this methods returns 0. Classes that override this method may return the total number of bytes that are currently available for reading and others may simply return a value of one indicating that there is some data avaiable. The caller should view the result of this method as an absolute.The default implementation of this method returns zero.- Returns
- the number of bytes available on this input stream.
- Exceptions
-
|
virtual void | close () |
| Closes the InputStream freeing any resources that might have been acquired during the lifetime of this stream.The default implementation of this method does nothing.- Exceptions
-
|
virtual long long | skip (long long num) |
| Skips over and discards n bytes of data from this input stream.The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. This may result from any of a number of conditions; reaching end of file before n bytes have been skipped is only one possibility. The actual number of bytes skipped is returned.The skip method of InputStream creates a byte array and then repeatedly reads into it until num bytes have been read or the end of the stream has been reached. Subclasses are encouraged to provide a more efficient implementation of this method.- Parameters
-
num | The number of bytes to skip. |
- Returns
- total bytes skipped
- Exceptions
-
IOException | if an I/O error occurs. |
UnsupportedOperationException | if the concrete stream class does not support skipping bytes. |
|
virtual void | mark (int readLimit) |
| Marks the current position in the stream A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.If a stream instance reports that marks are supported then the stream will ensure that the same bytes can be read again after the reset method is called so long the readLimit is not reached.Calling mark on a closed stream instance should have no effect.The default implementation of this method does nothing.- Parameters
-
readLimit | The max bytes read before marked position is invalid. |
|
virtual void | reset () |
| Repositions this stream to the position at the time the mark method was last called on this input stream.If the method markSupported returns true, then:
- If the method mark has not been called since the stream was created, or the number of bytes read from the stream since mark was last called is larger than the argument to mark at that last call, then an IOException might be thrown.
- If such an IOException is not thrown, then the stream is reset to a state such that all the bytes read since the most recent call to mark (or since the start of the file, if mark has not been called) will be resupplied to subsequent callers of the read method, followed by any bytes that otherwise would have been the next input data as of the time of the call to reset.
If the method markSupported returns false, then:
- The call to reset may throw an IOException.
- If an IOException is not thrown, then the stream is reset to a fixed state that depends on the particular type of the input stream and how it was created. The bytes that will be supplied to subsequent callers of the read method depend on the particular type of the input stream.
The default implementation of this method throws an IOException.- Exceptions
-
|
virtual bool | markSupported () const |
| Determines if this input stream supports the mark and reset methods.Whether or not mark and reset are supported is an invariant property of a particular input stream instance.The default implementation of this method returns false.- Returns
- true if this stream instance supports marks
|
| InputStream () |
virtual | ~InputStream () |
virtual int | read () |
| Reads a single byte from the buffer.
|
virtual int | read (unsigned char *buffer, int size) |
| Reads up to size bytes of data from the input stream into an array of bytes.
|
virtual int | read (unsigned char *buffer, int size, int offset, int length) |
| Reads up to length bytes of data from the input stream into an array of bytes.
|
virtual std::string | toString () const |
| Output a String representation of this object.
|
virtual void | lock () |
| Locks the object.
|
virtual bool | tryLock () |
| Attempts to Lock the object, if the lock is already held by another thread than this method returns false.
|
virtual void | unlock () |
| Unlocks the object.
|
virtual void | wait () |
| Waits on a signal from this object, which is generated by a call to Notify.
|
virtual void | wait (long long millisecs) |
| Waits on a signal from this object, which is generated by a call to Notify.
|
virtual void | wait (long long millisecs, int nanos) |
| Waits on a signal from this object, which is generated by a call to Notify.
|
virtual void | notify () |
| Signals a waiter on this object that it can now wake up and continue.
|
virtual void | notifyAll () |
| Signals the waiters on this object that it can now wake up and continue.
|
virtual | ~Closeable () |
virtual | ~Synchronizable () |
A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way.
An application uses a data output stream to write data that can later be read by a data input stream.
Due to the lack of garbage collection in C++ a design decision was made to add a boolean parameter to the constructor indicating if the wrapped InputStream
is owned by this object. That way creation of the underlying stream can occur in a Java like way. Ex:
DataInputStream os = new DataInputStream( new InputStream(), true )
- Since
- 1.0
virtual std::string decaf::io::DataInputStream::readLine |
( |
| ) |
|
|
virtual |
Reads the next line of text from the input stream.
It reads successive bytes, converting each byte to an ASCII char separately, until it encounters a line terminator or end of file; the characters read are then returned as a standard String. Note that because this method processes bytes, it does not support input of the full Unicode character set.
If end of file is encountered before even one byte can be read, then an empty string is returned. Otherwise, each byte that is read is converted to type char. If the character '
' is encountered, it is discarded and reading ceases. If the character '' is encountered, it is discarded and, if the following byte converts to the character '
', then that is discarded also; reading then ceases. If end of file is encountered before either of the characters '
' and '' is encountered, reading ceases. Once reading has ceased, a String is returned that contains all the characters read and not discarded, taken in order.
- Returns
- the next line of text read from the input stream or empty string if at EOF.
- Exceptions
-