package org.nutz.lang.stream;
import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import org.nutz.lang.Encoding;
import org.nutz.lang.Lang;
public class StringInputStream extends ByteArrayInputStream {
public StringInputStream(CharSequence s, Charset charset) {
super(toBytes(s, charset));
}
public StringInputStream(CharSequence s) {
super(toBytes(s, Encoding.CHARSET_UTF8));
}
protected static byte[] toBytes(CharSequence str, Charset charset) {
if (str == null)
return new byte[0];
if (charset == null)
charset = Encoding.CHARSET_UTF8;
try {
return str.toString().getBytes(charset.name());
}
catch (UnsupportedEncodingException e) {
throw Lang.wrapThrow(e);
}
}
}