java中的outputstream.write(int c)是用字节c覆盖上一个流dat还是增加它?

java中的outputstream.write(int c)是用字节c覆盖上一个流dat还是增加它?,java,stream,iostream,outputstream,Java,Stream,Iostream,Outputstream,从输入流向输出流写入一次一个字节会使流内容增加写入的字节,还是用这个字节替换当前流?如果我希望流同时包含多个字节,我必须向其写入字节数组,还是对指定的数据使用适当的java类函数?输出流是数据序列。如果将新数据写入流,则该数据将跟随任何以前的数据,既不递增也不替换。想象一下,流是沿着一条电线直接发送的。发送一条新信息不会影响之前的内容。没有OutputStream.write(byte),只有OutputStream.write(int),就像上面贴的OP一样。(正如Javadoc所说:“要写入

从输入流向输出流写入一次一个字节会使流内容增加写入的字节,还是用这个字节替换当前流?如果我希望流同时包含多个字节,我必须向其写入字节数组,还是对指定的数据使用适当的java类函数?

输出流是数据序列。如果将新数据写入流,则该数据将跟随任何以前的数据,既不递增也不替换。想象一下,流是沿着一条电线直接发送的。发送一条新信息不会影响之前的内容。

没有
OutputStream.write(byte)
,只有
OutputStream.write(int)
,就像上面贴的OP一样。(正如Javadoc所说:“要写入的字节是参数
b
的8个低阶位。忽略
b
的24个高阶位。”)所以它们有点像队列?一条数据跟在另一条数据后面?我们是否必须访问前面的数据才能“弹出”它,例如在java inputstream read()中,并能够读取下一段数据?
OutputStream
是一个抽象类,因此它只定义了应该如何使用流,而不是如何处理信息。根据您拥有的
OutputStream
类型,它可以写入网络套接字、写入文件或写入字节数组。您可以使用
ByteArrayInputStream
按顺序将数据写入字节数组,然后提取字节数组并将其用于
ByteArrayInputStream
,这将允许您按顺序读取相同的数据。