当前位置: 技术问答>java相关
请问如何把StringBuffer 的对象转化成一个InputStream 的对象,或者InputStream 子类的对象也可以!
来源: 互联网 发布时间:2015-04-28
本文导语: StringBuffer xmlStr=new StringBuffer(); 其中xmlStr 用于存放从XML 现在希望把xmlStr转换成一个输入流或其子类的对象以便解析。有谁知道怎么做吗? 谢谢!!!!!!!!!!!!!!! | StringBu...
StringBuffer xmlStr=new StringBuffer();
其中xmlStr 用于存放从XML
现在希望把xmlStr转换成一个输入流或其子类的对象以便解析。有谁知道怎么做吗?
谢谢!!!!!!!!!!!!!!!
其中xmlStr 用于存放从XML
现在希望把xmlStr转换成一个输入流或其子类的对象以便解析。有谁知道怎么做吗?
谢谢!!!!!!!!!!!!!!!
|
StringBuffer buffer = new StringBuffer();
// buffer appends or inserts text.
char[] chars = new char[buffer.length()];
buffer.getChars(0, buffer.length()-1, chars, 0);
CharArrayReader reader = new CharArrayReader(chars);
// 如果需要,可以将reader转化成流。
顺便说一句,二进制流(字节流)采用Stream,字符流采用Reader/Writer。
XML文档应该是Unicode字符流,采用Reader/Writer更好。
// buffer appends or inserts text.
char[] chars = new char[buffer.length()];
buffer.getChars(0, buffer.length()-1, chars, 0);
CharArrayReader reader = new CharArrayReader(chars);
// 如果需要,可以将reader转化成流。
顺便说一句,二进制流(字节流)采用Stream,字符流采用Reader/Writer。
XML文档应该是Unicode字符流,采用Reader/Writer更好。
|
StringBuffer-->String.getBytes()-->ByteArrayInputStream
StringBuffer xmlStr=new StringBuffer();
String s_tmp=new String(xmlStr);
InputString in=ByteArrayInputStream(s_tmp.getBytes());
StringBuffer xmlStr=new StringBuffer();
String s_tmp=new String(xmlStr);
InputString in=ByteArrayInputStream(s_tmp.getBytes());
|
StringBufferInputStream(xmlStr.toString())
|
to diaopeng(遥远):
我没学过C++,所以无法比较二者。但是我学过Delphi和Java,就两者比较,我觉得Java的流非常出色。我最喜欢Java的几个特性是:流和实用工具。
Java提供了60多个流,可以任意组装需要的流。实用工具中提供了zip的支持。在Delphi、VB中,需要找地三方控件支持zip压缩、解压。在Java里面直接用就好了。还有就是加密算法等等,也非常方便。
但是平心而论,Java的界面编程(不是界面效果)我很不喜欢。
我没学过C++,所以无法比较二者。但是我学过Delphi和Java,就两者比较,我觉得Java的流非常出色。我最喜欢Java的几个特性是:流和实用工具。
Java提供了60多个流,可以任意组装需要的流。实用工具中提供了zip的支持。在Delphi、VB中,需要找地三方控件支持zip压缩、解压。在Java里面直接用就好了。还有就是加密算法等等,也非常方便。
但是平心而论,Java的界面编程(不是界面效果)我很不喜欢。
|
Reader/Writer本来就是一种流。