2011-11-10 44 views

回答

8

查看是否可以將StringBuffer設置爲byte[],然後使用ByteArrayInputStream

+0

+1這是最老的正確答案。 –

18

請參閱類ByteArrayInputStream。例如:

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

請注意,你可能想在getBytes()方法使用一個明確的字符編碼,如:

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

(感謝@ g33kz0r)

+0

'返回新的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"); 
     } 
} 
相關問題