在Java中将字符添加到InputStream的开头和结尾

我有一个InputStream我需要在其开头和结尾添加字符,并且应该以另一个type变量结尾InputStream。我怎么容易做到这一点?

回答:

您需要一个SequenceInputStream和几个ByteArrayInputStream。您可以使用String.getBytes来为后者制作字节。SequenceInputStream很古老,因此使用起来有点笨拙:

InputStream middle ;

String beginning = "Once upon a time ...\n";

String end = "\n... and they lived happily ever after.";

List<InputStream> streams = Arrays.asList(

new ByteArrayInputStream(beginning.getBytes()),

middle,

new ByteArrayInputStream(end.getBytes()));

InputStream story = new SequenceInputStream(Collections.enumeration(streams));

如果你有很多的字符添加,并且不希望将它们转换为字节 集体

,你可以把它们放在一个StringReader,然后用ReaderInputStream从下议院IO读取它们以字节为单位。但是您需要在项目中添加Commons

IO。确切的代码留给读者练习。

以上是 在Java中将字符添加到InputStream的开头和结尾 的全部内容, 来源链接: utcz.com/qa/405797.html

回到顶部