Я новичок в Java и изучаю разработку Java ME. Я застрял в этом преобразовании. Пожалуйста, помогите мне преобразовать StringBuffer
в InputStream
. Спасибо!
Как преобразовать StringBuffer в InputStream в Java ME?
Ответ 1
Смотрите класс ByteArrayInputStream
. Например:
public static InputStream fromStringBuffer(StringBuffer buf) {
return new ByteArrayInputStream(buf.toString().getBytes());
}
Обратите внимание, что вы можете использовать явную кодировку символов в методе getBytes()
, например:
return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8));
(Спасибо @g33kz0r)
Ответ 2
Посмотрите, можете ли вы получить StringBuffer
в byte[]
, а затем ByteArrayInputStream.
Ответ 3
Это лучший ответ, который я нашел в Интернете. Нажмите здесь
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");
}
}