288

String値をに変換するにはどうすればよいInputStreamReaderですか?

4

6 に答える 6

333

ByteArrayInputStreamもトリックを行います。

InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );

次に、リーダーに変換します。

InputStreamReader reader = new InputStreamReader(is);
于 2008-10-29T15:12:11.277 に答える
63

また、apache commonsIOUtilsクラスを見つけたので、:

InputStreamReader isr = new InputStreamReader(IOUtils.toInputStream(myString));
于 2008-10-29T15:52:59.777 に答える
32

具体的には InputStreamReader である必要がありますか? StringReaderを使用するのはどうですか?

それ以外の場合は、StringBufferInputStreamを使用できますが、文字変換の問題があるため非推奨です (これが、StringReader を優先する必要がある理由です)。

于 2008-10-29T15:08:33.907 に答える
16

@Danと同じ質問- StringReader ではないのはなぜですか?

InputStreamReader でなければならない場合は、次のようになります。

String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);
于 2008-10-29T15:13:20.167 に答える