作者bil193 (丁丁)
看板java
标题[问题] 可以把Stream 转成String 吗?
时间Sun Aug 14 15:35:04 2011
使用JavaMail API在做读取邮件内容
标准做法是:(p是代表信件的某一部分(Part)
InputStream reader = p.getInputStream();
//p呼叫getInputStream後,顾名思义它取得一个Stream
reader = new BufferedInputStream(reader);
如果想把此Stream读到的信件内容,全部存在一个String里(或是StringBuffer里)
可以行吗?
我用:
StringBuffer sb = new StringBuffer();
while( (b=reader.read())!=-1 )
{
sb.append(b);
}
这样的结果是,sb的内容都是16进位的内容...看不到信件内容(文字)
恳请版上先进不吝指教,感激不尽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.69.9
1F:→ sbrhsieh:sb.append((char) b); 08/14 15:43
2F:→ sbrhsieh:喔~不对,你的 'reader' 是 InputStream not Reader 08/14 15:44
3F:→ sbrhsieh:使用适当encoding,把InputStream包装成Reader来处理 08/14 15:46
4F:→ pico2k:hint:使用byte array来处理 08/14 15:55
5F:→ raichuchuchu:念起来都差不多= = 08/31 00:01