Java : BufferedWriter with Examples

BufferedWriter (Java SE 17 & JDK 17) API Examples.
You will find code examples on most BufferedWriter methods.


Summary

Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.

Class diagram

final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt
System.out.println(Files.notExists(path)); // true

try (final var writer = Files.newBufferedWriter(path)) {

    writer.write("abcd");
    writer.newLine();

    writer.write("XYZ");
    writer.newLine();

    writer.write("12345");
    writer.newLine();
}

final var str = Files.readString(path);
System.out.println(str);

// Result
// ↓
//abcd
//XYZ
//12345

Fields declared in Writer

lock

Please see the link below.

Constructors

BufferedWriter (Writer out)

Creates a buffered character-output stream that uses a default-sized output buffer.

final var sw = new StringWriter();
try (final var writer = new BufferedWriter(sw)) {

    writer.write("abcd");
    writer.write("XYZ");
}

System.out.println(sw); // abcdXYZ

BufferedWriter (Writer out, int sz)

Creates a new buffered character-output stream that uses an output buffer of the given size.

final var sw = new StringWriter();
try (final var writer = new BufferedWriter(sw, 128)) {

    writer.write("abcd");
    writer.write("XYZ");
}

System.out.println(sw); // abcdXYZ

Methods

void close ()

Closes the stream, flushing it first.

final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt

try (final var writer = Files.newBufferedWriter(path)) {
    writer.append("abcd");
}

final var str = Files.readString(path);
System.out.println(str); // abcd
// An example without a try-with-resources statement.
final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt

final var writer = Files.newBufferedWriter(path);
try {
    writer.append("abcd");
} finally {
    writer.close();
}

final var str = Files.readString(path);
System.out.println(str); // abcd

void flush ()

Flushes the stream.

final var sw = new StringWriter();
try (final var writer = new BufferedWriter(sw, 128)) {

    writer.write("abcdXYZ");
    System.out.println(sw); // ""

    writer.flush();
    System.out.println(sw); // "abcdXYZ"
}
final var sw = new StringWriter();
try (final var writer = new BufferedWriter(sw, 4)) {

    writer.write("abcdXYZ");
    System.out.println(sw); // "abcd"

    writer.flush();
    System.out.println(sw); // "abcdXYZ"
}

void newLine ()

Writes a line separator.

final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt

try (final var writer = Files.newBufferedWriter(path)) {

    writer.write("abcd");
    writer.write("XYZ");

    writer.newLine();

    writer.write("12345");
}

final var str = Files.readString(path);
System.out.println(str);

// Result
// ↓
//abcdXYZ
//12345

void write (char[] cbuf, int off, int len)

Writes a portion of an array of characters.

final char[] cbuf = {'a', 'b', 'c', 'd'};

final var sw1 = new StringWriter();
try (final var writer = new BufferedWriter(sw1)) {
    writer.write(cbuf, 0, 1);
}
System.out.println(sw1); // a

final var sw2 = new StringWriter();
try (final var writer = new BufferedWriter(sw2)) {
    writer.write(cbuf, 0, 2);
}
System.out.println(sw2); // ab

final var sw3 = new StringWriter();
try (final var writer = new BufferedWriter(sw3)) {
    writer.write(cbuf, 0, 3);
}
System.out.println(sw3); // abc

final var sw4 = new StringWriter();
try (final var writer = new BufferedWriter(sw4)) {
    writer.write(cbuf, 0, 4);
}
System.out.println(sw4); // abcd

try (final var writer = new BufferedWriter(new StringWriter())) {
    //writer.write(cbuf, 0, 5); // IndexOutOfBoundsException
}
final char[] cbuf = {'a', 'b', 'c', 'd'};

final var sw1 = new StringWriter();
try (final var writer = new BufferedWriter(sw1)) {
    writer.write(cbuf, 0, 4);
}
System.out.println(sw1); // abcd

final var sw2 = new StringWriter();
try (final var writer = new BufferedWriter(sw2)) {
    writer.write(cbuf, 1, 3);
}
System.out.println(sw2); // bcd

final var sw3 = new StringWriter();
try (final var writer = new BufferedWriter(sw3)) {
    writer.write(cbuf, 2, 2);
}
System.out.println(sw3); // cd

final var sw4 = new StringWriter();
try (final var writer = new BufferedWriter(sw4)) {
    writer.write(cbuf, 3, 1);
}
System.out.println(sw4); // d

void write (int c)

Writes a single character.

final var sw = new StringWriter();
try (final var writer = new BufferedWriter(sw)) {
    writer.write('a');
    writer.write('b');
    writer.write('c');
    writer.write('d');
    writer.write('X');
    writer.write('Y');
    writer.write('Z');
}

System.out.println(sw); // abcdXYZ

void write (String s, int off, int len)

Writes a portion of a String.

final var str = "abcd";

final var sw1 = new StringWriter();
try (final var writer = new BufferedWriter(sw1)) {
    writer.write(str, 0, 1);
}
System.out.println(sw1); // a

final var sw2 = new StringWriter();
try (final var writer = new BufferedWriter(sw2)) {
    writer.write(str, 0, 2);
}
System.out.println(sw2); // ab

final var sw3 = new StringWriter();
try (final var writer = new BufferedWriter(sw3)) {
    writer.write(str, 0, 3);
}
System.out.println(sw3); // abc

final var sw4 = new StringWriter();
try (final var writer = new BufferedWriter(sw4)) {
    writer.write(str, 0, 4);
}
System.out.println(sw4); // abcd

try (final var writer = new BufferedWriter(new StringWriter())) {
    //writer.write(str, 0, 5); // StringIndexOutOfBoundsException
}
final var str = "abcd";

final var sw1 = new StringWriter();
try (final var writer = new BufferedWriter(sw1)) {
    writer.write(str, 0, 4);
}
System.out.println(sw1); // abcd

final var sw2 = new StringWriter();
try (final var writer = new BufferedWriter(sw2)) {
    writer.write(str, 1, 3);
}
System.out.println(sw2); // bcd

final var sw3 = new StringWriter();
try (final var writer = new BufferedWriter(sw3)) {
    writer.write(str, 2, 2);
}
System.out.println(sw3); // cd

final var sw4 = new StringWriter();
try (final var writer = new BufferedWriter(sw4)) {
    writer.write(str, 3, 1);
}
System.out.println(sw4); // d

Methods declared in Writer

append, append, append, nullWriter, write, write

Please see the link below.


Related posts

To top of page