0

BufferedWriter を使用して、特定のエンコーディングでテキストをファイルに書き込んでいます。ファイルを閉じる前に、ファイル サイズをバイト単位でカウントしたいと考えています。

bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),encoding),bsize);
bw.write(string); 

私の計画は string.getBytes() を使用することでしたが、このメソッドでは特定のエンコーディングを提供できません (また、デフォルトのエンコーディング プロパティをオーバーライドすることもできません)。

4

2 に答える 2

2

String#getBytes(encoding)代わりに使用

于 2013-04-30T13:05:41.320 に答える
0

追加するかどうかに関係なく機能し、カウントのためだけにデータを複製しないメソッドを探している場合は、 への参照をFileOutputStream変数に格納し、FileChannelthroughにアクセスしますgetFileChannel()long position()データが書き込まれる前と後に呼び出すことができ、値の差から、書き込まれたバイト数がわかります。

于 2013-04-30T13:14:30.007 に答える