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