String和Inputstreem互转的示例代码怎么写(string,编程语言)

时间:2024-05-05 10:29:23 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    String%E5%92%8CInputstreem%E4%BA%92%E8%BD%AC%E7%9A%84%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E6%80%8E%E4%B9%88%E5%86%99

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();

====================下面的方法有点恶心,改了改,看起来好多了===========================

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

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

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用法

本文:String和Inputstreem互转的示例代码怎么写的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Timer如何实现自定义时间间隔的连环炸下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18