java - 如何访问 BufferedWriter 中的缓冲区

标签 java character-encoding bufferedwriter

我正在使用 BufferedWriter 用 java 编写一个文件。这是我的代码 -

public static void main(String[] args) {
    try(BufferedWriter writer = Files.newBufferedWriter(filePath, Charset.forName("CP1252"))) {
        while (thereIsContentToWrite){
            writer.write(content);
        }
    }catch (CharacterCodingException ce){
        //get content of writer's current buffer (java.io.BufferedWriter.cb)
    }catch (IOException e) {
        e.printStackTrace();
    }
}

我想报告编写器当前缓冲区的内容,因为它包含按照 cp1252 的“不可映射字符”。 目前,我们正在尝试维护另一个缓冲区来保存内容,但我想知道是否有更好的方法来实现相同的目的。

最佳答案

您可以编写一个与 BufferedWriter 类似的 CustomBufferedWriter,并在实现中为 cb 添加 getter。

关于java - 如何访问 BufferedWriter 中的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47993682/

相关文章:

java - 如何让数字键盘上的 "done"按钮做一些 Action ?

Java Spring - 如何处理缺少所需的请求参数

character-encoding - 如何在 Yii2 的迁移中将字符集设置为特定列

mysql - 如何在mysql中创建一个以unicode字符串作为表名的表?

java - 无法使用 BufferedWriter 将数据追加到文件

java - 将字符串写入文本文件

java - 推土机映射 boolean 值

java - 在带有自定义标签的android中使用 block 模板引擎

python - 统一码编码错误 : 'ascii' codec can't encode character '\xe9' when printing in UTF-8 locale

java - 使用 BufferedWriter 在 Java 中写入文件