String和Inputstreem互轉(zhuǎn)的示例代碼怎么寫(xiě)

這篇文章的內(nèi)容主要圍繞String和Inputstreem互轉(zhuǎn)的示例代碼怎么寫(xiě)進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過(guò)這篇文章有所收獲!

作為一家“創(chuàng)意+整合+營(yíng)銷(xiāo)”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)建站提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開(kāi)發(fā)以及后續(xù)網(wǎng)站營(yíng)銷(xiāo)運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷(xiāo)方法,創(chuàng)造更大的價(jià)值。

URLConnection urlConn = url.openConnection(); // 打開(kāi)網(wǎng)站鏈接s
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), “UTF-8”)); // 實(shí)例化輸入流,并獲取網(wǎng)頁(yè)代碼
String s; // 依次循環(huán),至到讀的值為空
StringBuilder sb = new StringBuilder();
while ((s = reader.readLine()) != null) {
sb.append(s);
}
reader.close();

String str = sb.toString();

====================下面的方法有點(diǎn)惡心,改了改,看起來(lái)好多了===========================

原文: http://blog.csdn.net/soundtravel/article/details/6927006

String   str   =   “”;//add   your   string   content

InputStream   inputStream   =   new   ByteArrayInputStream(str.getBytes());

1 package org.kodejava.example.io;
2
3  import java.io.ByteArrayInputStream;
4  import java.io.InputStream;
5
6  publicclass StringToStream {
7 publicstaticvoid main(String[] args) {
8         String text =”Converting String to InputStream Example”;
9
10 /
11           Convert String to InputString using ByteArrayInputStream class.
12           This class constructor takes the string byte array which can be
13           done by calling the getBytes() method.
14 */
15 try {
16             InputStream is =new ByteArrayInputStream(text.getBytes(“UTF-8”));
17         } catch (UnsupportedEncodingException e) {
18             e.printStackTrace();
19         }
20     }
21 }
22

1、字符串轉(zhuǎn)inputStream

Java代碼  收藏代碼
String string;
//……
InputStream is = new ByteArrayInputStream(string.getBytes());

2、InputStream轉(zhuǎn)字符串

Java代碼  收藏代碼
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i;
while ((i = is.read()) != -1) {
baos.write(i);
}
String str = baos.toString();
System.out.println(str);

3、String寫(xiě)入OutputStream

Java代碼  收藏代碼
OutputStream os = System.out;
os.write(string.getBytes());

4、OutputStream寫(xiě)入String

這聽(tīng)起來(lái)有點(diǎn)荒謬,OutputStream本來(lái)就是輸出源,還寫(xiě)入String?

不過(guò)最近項(xiàng)目里確實(shí)遇到了個(gè)類(lèi)似的問(wèn)題,比如 SOAPMessage.writeTo(OutputStream os) 這個(gè)方法,是將SOAPMessage的內(nèi)容寫(xiě)到一個(gè)輸出流中,而我想得到這個(gè)流的內(nèi)容,總不能把他先寫(xiě)進(jìn)文件再去讀這個(gè)文件吧,研究了好半天,終于想起可以如下這般:

Java代碼  收藏代碼
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//向OutPutStream中寫(xiě)入,如 message.writeTo(baos);
String str = baos.toString();

將InputStream/OutputStream轉(zhuǎn)換成string

這里需要用到一個(gè)特殊的類(lèi)ByteArrayOutputStream,利用他,我們可以將輸出流在內(nèi)存中直接轉(zhuǎn)換成String類(lèi)型。

具體代碼如下:

首先從輸入流中將數(shù)據(jù)讀出來(lái)寫(xiě)入ByteArrayOutputStream,然后再將其轉(zhuǎn)換成String.

Java代碼  收藏代碼
InputStream in = urlconn.getInputStream();//獲取輸入流

ByteArrayOutputStream bos = new ByteArrayOutputStream();

//讀取緩存
byte[] buffer = new byte[2048];
int length = 0;
while((length = in.read(buffer)) != -1) {
bos.write(buffer, 0, length);//寫(xiě)入輸出流
}
in.close();//讀取完畢,關(guān)閉輸入流

// 根據(jù)輸出流創(chuàng)建字符串對(duì)象
new String(bos.toByteArray(), “UTF-8”);
//or
//bos.toString(“UTF-8”);

根據(jù)同樣的原理,我們可以將outputstream直接轉(zhuǎn)換成String對(duì)象。

指定一下字符集
byte[] b = str.getBytes(“utf-8”);
String s = new String(b,”utf-8”);

OUTPUTSTREAM中方法WRITE用法

void write(byte[] b)
 將 b.length 個(gè)字節(jié)從指定的 byte 數(shù)組寫(xiě)入此輸出流。
void write(byte[] b, int off, int len)
 將指定 byte 數(shù)組中從偏移量 off 開(kāi)始的 len 個(gè)字節(jié)寫(xiě)入此輸出流。
abstract  void write(int b)
 將指定的字節(jié)寫(xiě)入此輸出流。

感謝你的閱讀,相信你對(duì)“String和Inputstreem互轉(zhuǎn)的示例代碼怎么寫(xiě)”這一問(wèn)題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)?lái)更好的文章!

網(wǎng)站名稱:String和Inputstreem互轉(zhuǎn)的示例代碼怎么寫(xiě)
分享URL:http://bm7419.com/article22/jcesjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司Google、標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)