FileOutputStream写方法(int)java

Rol*_*all 0 java input stream writer

从API开始,方法write(int byte)应该采用表示字节的int,这样当EOF出现时它可以返回-1.但是可以做以下事情:

FileOutputStream fi = new FileOutputStream(file);
    fi.write(100000);
Run Code Online (Sandbox Code Playgroud)

我希望编译不会超过字节范围.JVM如何解释它?提前致谢.

Roh*_*ain 5

来自OutputStream.write(int)doc:

将指定的字节写入此输出流.写入的一般合同是将一个字节写入输出流.要写入的字节是参数b的八个低位.b的24个高位被忽略.

强调我的.

请注意,该方法需要一个int.并且由于100000是一个有效的整数字面值,因此没有必要进行编译.