Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BufferedReader.read(char[],int,int)能否返回0?_Java_Bufferedreader - Fatal编程技术网

Java BufferedReader.read(char[],int,int)能否返回0?

Java BufferedReader.read(char[],int,int)能否返回0?,java,bufferedreader,Java,Bufferedreader,CanBufferedReader.read(char[],int,int)返回0? 如果是,在什么情况下 我知道它在EOF处返回-1,否则返回读取字符数 但是是否有可能在不处于EOF时读取0字符?是的,如果第三个参数(len)为0,read将立即返回,并返回0 在所有其他情况下,这是不可能的*,因为读取方法(读卡器和InputStream)规定如下: 即使(当前)没有任何字节/字符可返回,也不要返回0-等待(阻塞),直到有一些字节/字符可用 如果没有字节/字符发生(只有在流/读取器关闭时才能

Can
BufferedReader.read(char[],int,int)
返回
0
? 如果是,在什么情况下

我知道它在
EOF
处返回
-1
,否则返回读取字符数


但是是否有可能在不处于
EOF
时读取
0
字符?

是的,如果第三个参数(
len
)为0,
read
将立即返回,并返回0

所有其他情况下,这是不可能的*,因为
读取
方法(读卡器和InputStream)规定如下:

  • 即使(当前)没有任何字节/字符可返回,也不要返回0-等待(阻塞),直到有一些字节/字符可用
  • 如果没有字节/字符发生(只有在流/读取器关闭时才能得出结论),则返回-1
因此,0是不可能的。除非你明确地说你不想要字节,这是一个完全不可操作的操作(这也不测试“可用性”,你不能真的这样做,如果你想知道如果你调用read,字节是否会被读取,你就必须读取它们。即使
available()
也不能做到这一点)


*)最后,
Reader
InputStream
是接口,因此可以通过任何方式实现,任何实现都可以决定返回0,即使
len
不是零。但是,这样的实现被破坏了,因为它不符合InputStream和Reader的规范。我不知道有任何核心库(在包
java….
中)的实现是如此糟糕。

是的,如果第三个参数(
len
)为0,
read
将立即返回,并返回0

所有其他情况下,这是不可能的*,因为
读取
方法(读卡器和InputStream)规定如下:

  • 即使(当前)没有任何字节/字符可返回,也不要返回0-等待(阻塞),直到有一些字节/字符可用
  • 如果没有字节/字符发生(只有在流/读取器关闭时才能得出结论),则返回-1
因此,0是不可能的。除非你明确地说你不想要字节,这是一个完全不可操作的操作(这也不测试“可用性”,你不能真的这样做,如果你想知道如果你调用read,字节是否会被读取,你就必须读取它们。即使
available()
也不能做到这一点)


*)最后,
Reader
InputStream
是接口,因此可以通过任何方式实现,任何实现都可以决定返回0,即使
len
不是零。但是,这样的实现被破坏了,因为它不符合InputStream和Reader的规范。我不知道有任何核心库(在包
java….
中)的实现是如此糟糕。

我想如果用len 0调用它,它可能会返回0。但你为什么要这么做?否则,它将永远不会返回0。我想,如果您使用0的len调用此函数,它可能会返回0。但你为什么要这么做?否则,它将永远不会返回0