您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞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互轉的示例代碼怎么寫”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。