觉得老师writeChars()方法有问题,writeChars()是writeChar()方法的集合,写入的中文占3个字节,写入的英文占1个字节,恰好符合utf-8的编码,而utf-16be是中文和英文都占2个字节。
2017-11-15
小白自己写的字节流总结,多多批评改正,谢谢。http://blog.csdn.net/jin970505/article/details/78473211
2017-11-08
看了下大家关注的点,个人认为如下:
当创建的数组长度小于要写入的字节时,通过while循环分多次写入,且out.write(buf,0,b),第二次不会覆盖上一次写入的;当某一次循环无字节可读时(读完了),返回-1,此时的b确实等于-1 ,但是此时要结束while循环了。
当然如果你创建的数组容量够大,当然可以不用循环,即一次性读入输入流,再一次性从输出流写入文件:in.read(buf,0,buf.length);
out.write(buf);
当创建的数组长度小于要写入的字节时,通过while循环分多次写入,且out.write(buf,0,b),第二次不会覆盖上一次写入的;当某一次循环无字节可读时(读完了),返回-1,此时的b确实等于-1 ,但是此时要结束while循环了。
当然如果你创建的数组容量够大,当然可以不用循环,即一次性读入输入流,再一次性从输出流写入文件:in.read(buf,0,buf.length);
out.write(buf);
2017-11-06