黑马程序员技术交流社区
标题:
关于文件输出流中的write(int b)方法的问题
[打印本页]
作者:
小陈期待逆袭
时间:
2013-5-11 11:32
标题:
关于文件输出流中的write(int b)方法的问题
本帖最后由 小陈期待逆袭 于 2013-5-11 13:27 编辑
在文件输出流中write(int b)中,方法摘要上写的是"将指定字节写入此文件输出流"这里的参数类型为int类型,而我们传入的肯定是byte类型。
请问这里是会有一个强转动作吗?还是int直接可以接受byte型的数据????
作者:
hou604720966
时间:
2013-5-11 11:46
你看看API吧,write是个重载方法
作者:
Jacky_Chen1990
时间:
2013-5-11 11:56
恩 你猜对了。有个强转的过程。
看源码:
public void write(int c) throws IOException {
synchronized (lock) {
if (writeBuffer == null){
writeBuffer = new char[writeBufferSize];
}
writeBuffer[0] = (char) c;
write(writeBuffer, 0, 1);
}
}
复制代码
writeBuffer[0] = (char) c;
作者:
李德全
时间:
2013-5-11 11:58
。。。。你才是高手啊....{:soso_e127:}都不懂你在说啥
作者:
飞鸟青崖
时间:
2013-5-11 12:05
看看API吧,里面写的很清楚。
write(int b)要写入的字节是参数 b 的八个低位。b 的 24 个高位将被忽略。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2