package com.test;

import java.io.IOException;
import java.io.Writer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.WritableByteChannel;
import java.nio.charset.StandardCharsets;

public class OneByteChannelWriter {
    public static void main(String[] args) throws IOException {
        try (Writer writer = Channels.newWriter(new WritableByteChannel() {
            @Override
            public int write(ByteBuffer src) {
                System.out.println((char) src.get());
                return 1;
            }

            @Override
            public boolean isOpen() {
                return true;
            }

            @Override
            public void close() {
            }
        }, StandardCharsets.UTF_8)) {
            for (int i = 1; i <= 5; i++) {
                writer.write("test" + i);
                writer.flush();
            }
        }
    }
}
