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
通过从字节数组创建新的String
这种方法首先将给定的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
广告