why read and write methods in I/O streams take and return int values although they are processing byte values (8 bit only ) in java ??