У меня есть текущий код, и проблема в том, что он создает файл кодовой страницы 1252, я хочу заставить его создать файл UTF-8
Может ли кто-нибудь помочь мне с этим кодом, так как я говорю, что в настоящее время он работает ... но мне нужно принудительно сохранить на UTF ... я могу передать параметр или что-то ??
это то, что я имею, любая помощь очень ценится
var out = new java.io.FileWriter( new java.io.File( path )),
text = new java.lang.String( src || "" );
out.write( text, 0, text.length() );
out.flush();
out.close();
Ответы:
Вместо использования
FileWriter
создайтеFileOutputStream
. Затем вы можете обернуть это вOutputStreamWriter
, что позволяет передавать кодировку в конструктор. Затем вы можете записать свои данные в это в инструкции try-with-resources :источник
Попробуй это
источник
Writer out = ...
следует исправить наBufferedWriter out = ...
.Попробуйте использовать
FileUtils.write
от Apache Commons.Вы должны быть в состоянии сделать что-то вроде:
Это создаст файл, если он не существует.
источник
Все ответы, приведенные здесь, не будут работать, поскольку запись в Java в UTF-8 содержит ошибки.
http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html
источник
Начиная с Java 7 вы можете сделать то же самое с
Files.newBufferedWriter
немного более кратко:источник
источник
Тип утилиты Java 7 файлов полезно для работы с файлами:
Версия Java 8 позволяет вам опустить аргумент Charset - методы по умолчанию UTF-8.
источник
мы можем написать файл в кодировке UTF-8 с использованием Java, используя PrintWriter для записи XML в кодировке UTF-8
Или нажмите здесь
источник
Ниже пример кода может читать файл построчно и записывать новый файл в формате UTF-8. Кроме того, я явно указываю кодировку Cp1252.
источник