中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

String和Inputstreem互轉的示例代碼怎么寫

發布時間:2022-01-11 10:21:58 來源:億速云 閱讀:144 作者:柒染 欄目:編程語言

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

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

String str = sb.toString();

====================下面的方法有點惡心,改了改,看起來好多了===========================

原文: 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、字符串轉inputStream

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

2、InputStream轉字符串

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寫入OutputStream

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

4、OutputStream寫入String

這聽起來有點荒謬,OutputStream本來就是輸出源,還寫入String?

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

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

將InputStream/OutputStream轉換成string

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

具體代碼如下:

首先從輸入流中將數據讀出來寫入ByteArrayOutputStream,然后再將其轉換成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);//寫入輸出流
}
in.close();//讀取完畢,關閉輸入流

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

根據同樣的原理,我們可以將outputstream直接轉換成String對象。

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

OUTPUTSTREAM中方法WRITE用法

void write(byte[] b)
 將 b.length 個字節從指定的 byte 數組寫入此輸出流。
void write(byte[] b, int off, int len)
 將指定 byte 數組中從偏移量 off 開始的 len 個字節寫入此輸出流。
abstract  void write(int b)
 將指定的字節寫入此輸出流。

感謝你的閱讀,相信你對“String和Inputstreem互轉的示例代碼怎么寫”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

随州市| 鄂尔多斯市| 青海省| 夏河县| 迭部县| 托克逊县| 无极县| 台东县| 两当县| 宁明县| 唐河县| 太谷县| 吴桥县| 文昌市| 曲周县| 星子县| 澜沧| 衢州市| 巫山县| 调兵山市| 永兴县| 宽甸| 岫岩| 新闻| 鹤岗市| 东方市| 中宁县| 航空| 留坝县| 南川市| 夹江县| 宁乡县| 万年县| 四会市| 莱西市| 达拉特旗| 云林县| 汉源县| 铁岭市| 介休市| 剑阁县|