我正在使用BufferedWriter将具有特定编码的文本写入文件,我想在关闭文件之前计算文件大小(以字节为单位)。
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),encoding),bsize);
bw.write(string);
我的计划是使用string.getBytes(),但此方法不允许提供特定的编码(我无法覆盖默认的编码属性)。
答案 0 :(得分:2)
使用String#getBytes(encoding)
代替
答案 1 :(得分:0)
如果您正在寻找一种方法,无论您是否要附加,并且不会仅仅为了计数而重复数据,请将对FileOutputStream
的引用存储在变量中并访问{{1通过FileChannel
。您可以在写入数据之前和之后调用getFileChannel()
,并且值的差异将为您提供已写入的字节数。