看板 java 關於我們 聯絡資訊
※ 引述《bil193 (丁丁)》之銘言: : 使用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進位的內容...看不到信件內容(文字) : 懇請版上先進不吝指教,感激不盡 謝謝版上高手的指教,問題算是解決,自己回一下: BufferedReader in = new BufferedReader( new InputStreamReader( p.getInputStream() ) ); ←用這樣子,就能把InputStream弄成Reader的形式了 然後再: String content = ""; String thisLine =""; while( (thisLine = in.readLine())!=null){ System.out.println("讀到:" + thisLine); content+=thisLine + "\r\n"; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.69.9
sbrhsieh:不建議這樣搞~~~ 08/17 17:43
bil193:sbrhsieh大 請問有更好的方式 可以告訴我嗎^^ 08/18 08:32
sbrhsieh:主要指收集data的方式不好。請看看http://ppt.cc/RG~( 08/18 21:19
LaPass:把Stream讀成byte[] 然後new string(byte[]) 這樣..... 08/18 22:49
lachtchlee:new String( 08/19 02:14