2011-11-10 28 views

Trả lời

8

Xem bạn có thể nhận được StringBuffer đến byte[] sau đó sử dụng ByteArrayInputStream hay không.

+0

+1 Đó là câu trả lời đúng nhất cũ nhất. –

18

Xem lớp ByteArrayInputStream. Ví dụ:

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

Lưu ý rằng bạn có thể muốn sử dụng một mã hóa ký tự rõ ràng về phương pháp getBytes(), ví dụ:

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

(Cảm ơn @ g33kz0r)

+0

'trả về mới ByteArrayInputStream (sb.toString(). GetBytes (StandardCharsets.UTF_8));' – g33kz0r

2

Đây là câu trả lời tốt nhất tôi tìm thấy trên Internet. 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"); 
     } 
} 
Các vấn đề liên quan