Tôi mới sử dụng Java và học Java ME. Tôi bị mắc kẹt trong chuyển đổi này. Vui lòng giúp tôi chuyển đổi StringBuffer
thành InputStream
. Cảm ơn!Làm thế nào để chuyển đổi StringBuffer thành InputStream trong Java ME?
13
A
Trả lời
8
Xem bạn có thể nhận được StringBuffer
đến byte[]
sau đó sử dụng ByteArrayInputStream hay không.
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");
}
}
+1 Đó là câu trả lời đúng nhất cũ nhất. –