- Given the UTF contents, read & write utf contents using BufferReader & BufferWriter.
- Use java nio feature to create BufferReader & BufferWriter.
- We have already discussed similar posts:
- Read & write contents bufferReader/bufferWriter without UTF using NIO
- Read & write utf contents bufferReader/bufferWriter without NIO
- Read & write utf contents InputStreamReader/OutputStreamWriter without NIO
In this post, we will demonstrate read and write operations with UTF-8 contents.
Let us look into the complete example code, where we are writing the contents to file and reading the contents from file (using NIO).
Program – Read & write UTF file (BufferReader & BufferWriter)
package org.learn.utf.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class BufferReaderWriterNIO { public static void main(String[] args) throws IOException { writeUTFUsingNIO(); readUTFUsingNIO(); } private static void writeUTFUsingNIO() throws IOException { Path path = Paths.get("sampleUTFFile.txt"); System.out.println("1. Start writting contents to file - BufferedWriter(NIO)"); try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) { writer.write("Names of Jackie Chan:"); writer.newLine(); writer.write("房仕龍 (Fong Si-lung)"); writer.newLine(); writer.write("元樓 (Yuen Lou)"); writer.newLine(); writer.write("大哥 (Big Brother)"); } System.out.println("2. Successfully written contents to file - BufferedWriter(NIO)"); } private static void readUTFUsingNIO() throws IOException { Path path = Paths.get("sampleUTFFile.txt"); try (BufferedReader bufferedReader = Files.newBufferedReader(path, StandardCharsets.UTF_8)) { String line; System.out.println("\n3. Start Reading file - BufferedReader (NIO):"); while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } System.out.println("4. End reading file - BufferedReader (NIO)"); } } }
The content of sampleUTFFile.txt is as follows:
Output – Read & write UTF file (BufferReader & BufferWriter)
1. Start writting contents to file - BufferedWriter(NIO) 2. Successfully written contents to file - BufferedWriter(NIO) 3. Start Reading file - BufferedReader(NIO): Names of Jackie Chan: 房仕龍 (Fong Si-lung) 元樓 (Yuen Lou) 大哥 (Big Brother) 4. End reading file - BufferedReader(NIO)