已采纳回答 / 管理員
if(bytes = in.read(buf,0,buf.length))!=-1相当于if(in.read(buf,0,buf.length)!=-1){//但是却不能这么写 bytes = in.read(buf,0,buf.length);}可以研究一下怎么看jdk源码如果读到了末尾会返回一个值“-1”,方法就是这么定义的。
2015-07-23
最新回答 / yangyang533
readpublic abstract int read() throws IOException从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。子类必须提供此方法的一个实现。返回:下一个数据字节;如果到达流的末尾,则返回 -1。抛出:IOException - 如果发生 I/O
错误。从API的理解来看,read是每次读取...
2015-07-15
已采纳回答 / 一碗阳春面
新建记事本,内容为空。另存为ANSI、unicode、utf-8,再去查看文件大小。你会发现ANSI的为0字节,unicode为2字节,utf-8的为3字节。所以个人猜测可能是记事本再另存为的时候会增加点隐藏内容来区分文件的编码类型。java工程中建立的utf-8编码文本文件如果重新另存为utf-8一下,也会变成9字节的。
2015-07-12