遇到一个字节数组与流转化的实际问题,用代码记录一下:
1 package test.com.dflzm.tpme.szjh; 2 3 import java.io.BufferedReader; 4 import java.io.ByteArrayInputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.InputStreamReader; 8 9 import org.junit.Test; 10 11 /** 12 * Description 13 * @author fanj 14 * @version 1.0 15 * 2019年11月2日 下午12:22:33 16 */ 17 public class StringToInputStreamTest { 18 19 @Test 20 public void test() { 21 String str = "学习Java编程"; 22 System.out.println("原字符串:" + str); 23 // 字符串转输入流 24 InputStream inputStream = strToInputStream(str); 25 System.out.println("字符串转化后的流:" + inputStream); 26 // 输入流转字符串 27 String string = inputStreamToString(inputStream); 28 System.out.println("流还原为字符串:" + string); 29 } 30 31 /** 32 * 33 * @Description 字符串转输入流 34 * @author fanj 35 * @date 2019年11月2日 36 * @param str 37 * @return 38 */ 39 private InputStream strToInputStream(String str) { 40 byte[] bytes = str.getBytes(); 41 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); 42 return byteArrayInputStream; 43 } 44 45 /** 46 * 47 * @Description 输入流转字符串 48 * @author fanj 49 * @date 2019年11月2日 50 * @param inputStream 51 * @return 52 */ 53 private String inputStreamToString(InputStream inputStream) { 54 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 55 StringBuffer stringBuffer = new StringBuffer(); 56 String oneLine = ""; 57 try { 58 while ((oneLine = bufferedReader.readLine()) != null) { 59 stringBuffer.append(oneLine); 60 } 61 return stringBuffer.toString(); 62 } catch (IOException e) { 63 e.printStackTrace(); 64 } 65 return null; 66 } 67 68 }
结果如下: