0

BufferedWriter.write()を使用してバイト配列をディスクに書き込むことに興味があります。しかし、そのメソッドは文字の配列を必要とします。byte[] を char[] に変換する必要があります。簡単でしょ?Clojure での最初の試行では、バイトを文字に変換できませんでした。したがって、なぜ BufferedWriter.write() メソッドが char[] の必要性についてそれほどうるさいのか疑問に思い始めました。
注: OutputStream には、byte[] を取る書き込みメソッドがあります。したがって、私の質問は、BufferedWrite.write() で char[] を使用するためのフレームワーク設計の選択についてです。

4

2 に答える 2

4

BufferedWriterは の一種でWriterWriter文字を書くためのものです。生のバイトを出力するには、何らかのタイプを使用する必要がありますOutputStream— この場合はBufferedOutputStream.

OutputStream(との間のブリッジがWriterクラスOutputStreamWriterです。これは、Writer文字を受け取り、UTF-8 などのスキームを使用してそれらをバイトにエンコードし、結果のバイトを にフィードするOutputStreamです。)

于 2013-01-04T02:51:39.800 に答える
1

クラス Javadoc の最初の行にあります。

テキストを文字出力ストリームに書き込み、文字をバッファリングして、単一の文字、配列、および文字列を効率的に書き込むことができるようにします。

実装するクラスWriterは、任意のバイナリ データではなく、テキスト出力用に設計されています。BufferedOutputStreamなどの他のバッファリングされたストリームを調べます

于 2013-01-04T02:50:29.160 に答える