Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FileInputStream is a subclass of the of InputStream.  It will return -1 only when the end of the input stream has been reached. This noncompliant code example casts the value returned by the read() method directly to a value of type byte and then compares this value with -1 in an attempt to detect the end of the stream.

...

Noncompliant Code Example (char)

FileReader is a subclass of the of InputStreamReader which is in turn a subclass of Reader.  It also returns -1 only when the end of the stream has been reached.   This noncompliant code example casts the value of type int returned by the read() method directly to a value of type char, which is then compared with -1 in an attempt to detect the end of stream. This conversion leaves the value of data as 0xFFFF (e.g., Character.MAX_VALUE) instead of -1. Consequently, the test for the end of file never evaluates to true.

...