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