Java程序:将OutputStream转换为String
将OutputStream转换为String的过程在单元测试中经常用到,需要在显示OutputStream内容之前检查其内容。本文将讲解Java程序如何将OutputStream转换为String。
这里,String是Java中的一个类,表示字符序列,而OutputStream类属于java.io包,是表示字节输出流的类的超类。
使用toString()方法
toString()方法是java.io.ByteArrayOutputStream类的方法,它使用平台的默认字符集将指定流的内容转换为String。
示例
下面的Java程序使用toString()方法将OutputStream转换为String。
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
public static void main(String[] args) throws IOException {
String str = "";
// given byte array
byte[] bs = {65, 66, 67, 68, 69};
ByteArrayOutputStream baos = null;
try {
// create new ByteArrayOutputStream
baos = new ByteArrayOutputStream();
// write byte array to the output stream
baos.write(bs);
// converts buffers using default character set
str = baos.toString();
// print
System.out.println("Output Stream into String:: " + str);
} catch(Exception e) {
// if I/O error occurs
e.printStackTrace();
} finally {
if(baos!=null)
baos.close();
}
}
}
以上代码的输出如下:
Output Stream into String:: ABCDE
通过从字节数组创建新字符串
在这种方法中,首先将给定的OutputStream转换为字节数组,然后使用该数组创建一个新的字符串。结果,您将获得给定OutputStream的字符串表示形式。
示例
让我们看看上面讨论的方法的实际演示:
import java.io.*;
public class ByteArrayOutputStreamDemo {
public static void main(String[] args) throws IOException {
// Given string
String str = "TUTORIALSPOINT";
ByteArrayOutputStream baos = null;
try {
// create new ByteArrayOutputStream
baos = new ByteArrayOutputStream();
// write string to the output stream
baos.write(str.getBytes());
// Convert OutputStream to byte array
byte[] byteArr = baos.toByteArray();
// Convert byte array to String
String newStr = new String(byteArr);
// print result
System.out.println("Output Stream into String:: " + newStr);
} catch(Exception e) {
// if I/O error occurs
e.printStackTrace();
} finally {
if(baos!=null)
baos.close();
}
}
}
执行以上代码后,将显示以下结果:
Output Stream into String:: TUTORIALSPOINT
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP