Часто нам приходится иметь дело с файлом в кодировке UTF-8 в нашем приложении. Это может быть связано с необходимостью локализации или просто обработкой пользовательского ввода из-за некоторых требований.
Даже некоторые источники данных могут предоставлять данные только в формате UTF-8. В этом руководстве по Java мы рассмотрим два очень простых примера чтения и записи содержимого UTF-8 из файла.
1. Запись данных в кодировке UTF-8 в файл
Ниже приведен пример Java, демонстрирующий, как записать данные в кодировке «UTF-8» в файл. Он использует кодировку символов «UTF-8» при создании OutputStreamWriter.
File file = new File("c:\\temp\\test.txt");try(Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8))) {out.append("Howtodoinjava.com").append("\r\n").append("UTF-8 Demo").append("\r\n").append("क्षेत्रफल = लंबाई * चौड़ाई").append("\r\n");out.flush();} catch(Exception e) {System.out.println(e.getMessage());}
Нам нужно включить Eclipse IDE для поддержки набора символов UTF-8 перед запуском примера в Eclipse. По умолчанию он отключен. Если вы хотите включить поддержку UTF-8 в Eclipse, мы получим необходимую помощь для моего предыдущего поста:
Читайте: Как скомпилировать и запустить Java-программу, написанную на другом языке
2. Чтение данных в кодировке UTF-8 из файла
Нам необходимо передать StandardCharsets.UTF_8 в конструктор InputStreamReader для чтения данных из файла в кодировке UTF-8.
File file = new File("c:\\temp\\test.txt");try(BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF8"))) {String str;while((str = in.readLine()) != null) {System.out.println(str);}} catch(Exception e) {System.out.println(e.getMessage());}
Вывод программы:
Howtodoinjava.comUTF-8 Demoक्षेत्रफल = लंबाई * चौड़ाई