2011-11-10 9 views

答えて

8

StringBufferbyte[]に取得できるかどうかを確認するには、ByteArrayInputStreamを使用してください。

+0

+1これは最も古い正解です。 –

18

クラスByteArrayInputStreamを参照してください。たとえば:あなたはgetBytes()方法に明示的な文字エンコーディングを使用する場合がありますことを

public static InputStream fromStringBuffer(StringBuffer buf) { 
    return new ByteArrayInputStream(buf.toString().getBytes()); 
} 

注、例えば:

return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8)); 

(g33kz0r @感謝)

+0

'return new ByteArrayInputStream(sb.toString()。getBytes(StandardCharsets.UTF_8));' – g33kz0r

2

これが最良の答えは私ですインターネット上にあります。 Click Here

import java.io.ByteArrayInputStream; 
import java.io.InputStream; 
public class StringBufferToInputStreamExample { 
     public static void main(String args[]){ 
       //create StringBuffer object 
       StringBuffer sbf = new StringBuffer("StringBuffer to InputStream Example"); 
       /* 
       * To convert StringBuffer to InputStream in Java, first get bytes 
       * from StringBuffer after converting it into String object. 
       */ 
       byte[] bytes = sbf.toString().getBytes(); 
       /* 
       * Get ByteArrayInputStream from byte array. 
       */ 
       InputStream inputStream = new ByteArrayInputStream(bytes); 
       System.out.println("StringBuffer converted to InputStream"); 
     } 
} 
関連する問題