字節(jié)數(shù)組輸出流,無需添加目的地,因?yàn)閿?shù)據(jù)會被自動輸入內(nèi)存的緩沖區(qū),需通過
.toByteArray()或.toString()拿到數(shù)據(jù)
因?yàn)樾枰褂米宇怋yteArrayOutputStream的新方法,所以不能寫父類OutputStream對象
ByteArrayOutputStream os=new ByteArrayOutputStream();
因?yàn)閿?shù)據(jù)寫入了緩沖區(qū),所以需要通過.toByteArray()和.toString()手動拿取
步驟:
創(chuàng)建目的地字節(jié)數(shù)組(用來存放從緩沖區(qū)拿來的數(shù)據(jù)): Byte[] last=null;
選擇流: ByteArrayOutputStream os;
編碼:字符串到字節(jié)
操作:os.write(byte[],0,byte,length)寫入
獲取數(shù)據(jù):last=os.toByteArray();
System.out.println(new String(last,0,last.length)//或last.length可替換成os.size()
解碼
public class test{
public static void main(String[]args)
{
//創(chuàng)建目的地
byte[] last=null;
//選擇流(新增方法)
ByteArrayOutputStream os=null; //不用OutputStream,是因?yàn)橐米宇怋yteArrayOutputStream的新增方法
try {
os =new ByteArrayOutputStream();
String s="hello world";
byte[] data=s.getBytes(); //編碼,字符串到字符數(shù)組
os.write(data,0,data.length);
os.flush();
//獲取數(shù)據(jù)
last=os.toByteArray();
System.out.println(last.length);
System.out.println(last.length+"---"+new String(last,0,last.length));//或者os.size()
}catch(IOException e)
{
e.printStackTrace();
}
}
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。