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 回答