Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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 InputStream、BuffreReadInputStream、InputStreamReader和BufferedReader之间的关系是什么?_Java_Inputstream_Bufferedreader_Bufferedinputstream - Fatal编程技术网

Java InputStream、BuffreReadInputStream、InputStreamReader和BufferedReader之间的关系是什么?

Java InputStream、BuffreReadInputStream、InputStreamReader和BufferedReader之间的关系是什么?,java,inputstream,bufferedreader,bufferedinputstream,Java,Inputstream,Bufferedreader,Bufferedinputstream,我总是弄不清楚什么时候处理我的输入数据,如何处理,哪个处理。不同的时候,我会找到不同的解决方案。我也不清楚他们的等级制度 InputStream是所有输入流和读取器的父类。具有Stream关键字的类将使用字节,而具有Reader关键字的类将使用字符。 缓冲区是这些流的包装器,用于减少系统调用并提高性能和读取速度。非缓冲流每次返回单字节,而缓冲流在缓冲区满之前不会返回。例如,如果您使用BufferedReader,您可以使用readLine读取整行,但在非缓冲流中,您必须使用read方法读取单个字

我总是弄不清楚什么时候处理我的输入数据,如何处理,哪个处理。不同的时候,我会找到不同的解决方案。我也不清楚他们的等级制度

InputStream是所有输入流和读取器的父类。具有Stream关键字的类将使用字节,而具有Reader关键字的类将使用字符。
缓冲区是这些流的包装器,用于减少系统调用并提高性能和读取速度。非缓冲流每次返回单字节,而缓冲流在缓冲区满之前不会返回。例如,如果您使用BufferedReader,您可以使用readLine读取整行,但在非缓冲流中,您必须使用read方法读取单个字符。

您能更具体一点吗?你想知道什么?InputStream读取字节,Reader读取字符。任何以Buffered开头的东西都使用缓冲区。有时输入是用inputStream只读的,有时我发现BufferedInputStream是为了读取输入而创建的。我想知道什么时候用什么,为什么?如果它们之间有任何关系。inputStream->readByte inputStreamReader->直接读取charou u可以同时说inputStream 8bit。BufferedInputstream->readBytes only,但要填充缓冲区,以减少系统调用。非常感谢。每次我到处寻找这些东西,他们都会解释它的实现,而不是我为什么要使用它。