已采纳回答 / 安静_天空
因为你想读取每一行所显示的内容(文字内容)。如果你用字节流输出,那么得到的结果会是一些字节码,然而你并不一定想得到字节码,你想得到的可能是文本内容,如果容内中存在汉字,你可能会得到乱码,一个汉字占用两个字节~字节流的输入输出都是以字节为基本单位的,即都是0101这样的东西。BufferedReader的缓冲作用主要是为了读写内容时更高效。
2016-04-02
已采纳回答 / 散落凡尘的雨
其实是一样的,只不过表现的形式不同。192.168.56.1转化成字节数组就是[-64,-88,56,1],具体转化:byte为8字节192太大所以表示不成正数的192就表示成-64,其余的都是同理,56可以表示成56。(至于为什么要表示成-64,原因是在计算机中存储的数都是补码,-64的补码与192的补码相同都是11000000所以可以这样存储)。
2016-03-08
已采纳回答 / SoyaDokio
这是一种正确、严谨的写法。验证非NULL是编码中很重要的一环。假如本来就是NULL,这是调用各自的close()方法是会报错的。如果在实例化这些对象时出错导致这些对象为NULL,或是实例化没问题但中途出了什么异常导致这些对象为NULL,都会在未经验证非NULL前尝试调用close()方法关闭时报错。p.s. 讲师写socket关闭条件时写的是if(socket!=null)socket.close();这样写没错,但我想说一般是另一种写法if(!socket.isClosed())socket.close...
2016-02-29
已采纳回答 / LynnShaw
未指定端口号时,getport()返回-1如果要返回默认端口号,使用public int getDefaultPort()Gets the default port number of the protocol associated with this URL. If the URL scheme or the URLStreamHandler for the URL do not define a default port number, then -1 is returned
2016-02-17
已采纳回答 / current_bp
首先不知道你是什么意思,如果byte类型,其最大值是127,超过最大值,就是越界,有可能变成负数,short类型的最大值是2^15-1,这个应该不会出错,不知道是不是你的类型错误。。。错将string类型赋值给short了。。。
2016-02-15
已采纳回答 / 惫懒sloth
首先InetAddress.getLocalHost() 这个方法返回的就是byte[]数组,这个没法改。其次ipv4是4个0-255间的整数组成的,byte是1字节8 位,正好满足(2的8次方=256),所以用byte去接是合适的。但由于java中没有unsigned的类型,所有数都是带有正负位的,所以最高位的 1 将会被解释为符号位,另外 Java 中存储是按照补码存储,如果是地址中一个是135,转二进制 1000 0111 ,这会被java认为是补码形式,转换成原码便是 1111 0001,转换成十...
2015-12-12