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
廣告