Versions Compared

Key

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

According to the Java API [API 062006] for the class InputStream, with an array of bytes b as the parameter, the read(b) method:

...

The trailing byte ranges overlap the range of both the single byte and lead byte characters. This can cause issues because if a multibyte character is separated between buffer boundaries, it will be interpreted differently, as defined by its composing bytes [Phillips 052005].

A third data reading issue arises from the behavior of the String class constructor with respect to the default encoding. See FIO03-J. Specify the character encoding while performing file or network IO for more details.

...

References

Wiki Markup
[[API 062006|AA. Java References#API 06]\] Class {{InputStream}}, {{DataInputStream}}
[[Phillips 052005|AA. Java References#Phillips 05]\] 
[[Harold 991999|AA. Java References#Harold 99]\] Chapter 7: Data Streams, Reading Byte Arrays
[[Chess 072007|AA. Java References#Chess 07]\] 8.1 Handling Errors with Return Codes
\[[MITRE 092009|AA. Java References#MITRE 09]\] [CWE ID 135|http://cwe.mitre.org/data/definitions/135.html] "Incorrect Calculation of Multi-Byte String Length"

...