欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

InputStream、OutputStream、String的相互转换

程序员文章站 2022-03-16 15:16:20
...

1、字符串转inputStream

 

String string;
//......
InputStream is = new ByteArrayInputStream(string.getBytes());
 

2、InputStream转字符串

 

ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i;
while ((i = is.read()) != -1) {
	baos.write(i);
}
String str = baos.toString();
System.out.println(str);
 

3、String写入OutputStream

 

OutputStream os = System.out;
os.write(string.getBytes());
 

4、OutputStream写入String

 

这听起来有点荒谬,OutputStream本来就是输出源,还写入String?

不过最近项目里确实遇到了个类似的问题,比如 SOAPMessage.writeTo(OutputStream os) 这个方法,是将SOAPMessage的内容写到一个输出流中,而我想得到这个流的内容,总不能把他先写进文件再去读这个文件吧,研究了好半天,终于想起可以如下这般:

 

ByteArrayOutputStream baos = new ByteArrayOutputStream();
//向OutPutStream中写入,如 message.writeTo(baos);
String str = baos.toString();
 

 

相关标签: OS