importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.IOException;importjava.nio.charset.StandardCharsets;importjava.nio.file.Files;importjava.nio.file.Paths;publicclassReadingUTF8TextFile{publicstaticvoidmain(String[] args)throwsIOException{//StandardCharsets is available since Java 1.7//for ealier version use Charset.forName("UTF-8");try(BufferedWriter wr =Files.newBufferedWriter(Paths.get("test.txt"),StandardCharsets.UTF_8)){
wr.write("Strange cyrillic symbol Ы");}/* First Way. For big files */try(BufferedReader reader =Files.newBufferedReader(Paths.get("test.txt"),StandardCharsets.UTF_8)){String line;while((line = reader.readLine())!=null){System.out.print(line);}}System.out.println();//just separating output/* Second way. For small files */String s =newString(Files.readAllBytes(Paths.get("test.txt")),StandardCharsets.UTF_8);System.out.print(s);}}
Writing text to a file in UTF-8
importjava.io.BufferedWriter;importjava.io.IOException;importjava.nio.charset.StandardCharsets;importjava.nio.file.Files;importjava.nio.file.Paths;publicclassWritingUTF8TextFile{publicstaticvoidmain(String[] args)throwsIOException{//StandardCharsets is available since Java 1.7//for ealier version use Charset.forName("UTF-8");try(BufferedWriter wr =Files.newBufferedWriter(Paths.get("test2.txt"),StandardCharsets.UTF_8)){
wr.write("Cyrillic symbol Ы");}}}
Getting byte representation of a string in UTF-8
importjava.nio.charset.StandardCharsets;importjava.util.Arrays;publicclassGetUtf8BytesFromString{publicstaticvoidmain(String[] args){String str ="Cyrillic symbol Ы";//StandardCharsets is available since Java 1.7//for ealier version use Charset.forName("UTF-8");byte[] textInUtf8 = str.getBytes(StandardCharsets.UTF_8);System.out.println(Arrays.toString(textInUtf8));}}