int count;
byte[] b=new byte[256];
BufferedInputStream in=new BufferedInputStream(System.in);
try{
count=in.read(b);
System.out.println("读入的字节数为:"+count);
运行,输入:123456789
输出:10
请问下,这个10怎么来的,read(byte b[])方法是返回实际读入的字节数,怎么不是按unicode方式算字节数?
这么说,read方法返回的是读入的字符数了,不是按照unicode字符集那样,一个字符算2个字节
追答in.read(b);
返回的是b中的字节总数。
那按一个字符两个字节算的话,不是应该是20么?
追答这是对单个数字逐一读取,不是读取数值,单个数字和字母占一个字节,汉字占两个字节。
本回答被提问者采纳java中reader.read()方法返回的int值是怎样得到的?
当 `Reader.read()` 方法执行时,它从流中读取字节,并根据当前的字符编码进行解码。如果读取成功,方法将返回解码得到的字符的 Unicode 值。如果流已结束,则返回 -1。返回的值通常是一个介于 0 到 65535 之间的整数,这对应于 Java 使用的内部编码(UCS-2),它支持大部分 Unicode 字符。要将返...
java流的read方法返回值怎么来的?
read的返回值 并不是真正得到的数据,而是得到的数据的长度 你每次会希望读入一定的长度,比如你想读10个byte 如果剩余的byte数足够,将会读满所需要的字节数,如果剩余的字节数不够 将会返回一个小于你所读的数 如果读到-1 表示读取结束(经常在socket和文件读取遇到)...
javaio文件流read方法返回-1?
接下来,以Linux为例,解释在不同情况中EOF是如何出现的。首先,对于普通文件(file),当文件读取完毕,read方法将返回-1,表示EOF状态。其次,针对标准输入(stdin),当没有更多的输入数据时,read方法同样会返回-1。最后,对于网络流(socket),在没有接收到数据或连接关闭后,read方法也会返回-1,...
Java中字节流和字符流的read()方法为什么返
read()方法需要返回一个特殊的值来表示流末尾, 这个值不能和流中的数据重复 字符流中读取到的char是直接当作int使用, 例如读取到一个'a'也就是97的时候, 那么就相当于返回了一个int的97 字节流中不能这么做, 因为如果文件中存在数据-1, 把-1直接当作int返回还是-1, 那么就无法区分这个读到的...
java的输入流的read方法返回的是什么呢?
read(bytes)返回的是个整数,是每次填充给bytes数组的长度。这个方法在按bytes数组读取文件。不等于-1是因为出现-1就说明文件已经读取结束了。可以通过这个方法,进行循环读取文件内容,当read返回值为-1的时候,表示文件读取完毕,就可以显示文件内容,进行相应的操作。
JAVA. FileInputStream 的 read()方法一次读取一个字节并返回 那返回...
我们需要使用一个不可能在数据中出现的值来表示流末尾, Java中就是用-1来表示这个末尾的, 因为-1不会在数据中出现,如果返回byte, 同样无法表示流末尾., byte的取值范围是从-128到127,这个范围内所有的数据, 都有可能在数据中出现,read()方法需要返回一个特殊的值来表示流末尾, 这个值不能和...
Java:为什么InputStream.read()读取一个byte却返回一个int呢?
当读取的是数字和英文时,返回值是对应的ascii码,当读取的是汉字时,返回的是汉字的机内码,比如你用的GBK编码方式,返回的就是GBK的内部编码,read()方法每次从inputstream中读取一个字节,而一个字节是8位,能2的八次方个数,也就是256,这也是read()返回0~255之间的数的原因。而asc是没有...
java中的Reader类中的read方法返回值为什么是个int类型的?
1. 在Java中,`Reader`类中的`read`方法返回`int`类型是为了能够表示字符流末尾的特殊情况。2. 如果我们使用`char`类型来表示,由于`char`的取值范围是从0到65535,Java需要一个值来表示流结束,这个值不应该在数据中出现。3. 因此,Java选择使用-1来表示流的末尾。由于-1不会是字符数据的一部分...
在Java中的io流中,read读取文件时,读取完了没有了返回-1,(为什么不...
返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值
Java 中 InputStream 类中方法 read() 的使用问题
你好,read方法是按一个字节一个字节的读,它读取的时候,有一个想游标一样的东西,首先指向流的最开头 当read到-1的时候,表示读取到了流的最后面,表示已读取完毕