Mam aktualny kod, a problemem jest utworzenie pliku strony kodowej 1252, chcę go zmusić do utworzenia pliku UTF-8
Czy ktoś może mi pomóc z tym kodem, ponieważ mówię, że obecnie działa ... ale muszę wymusić zapisanie na utf .. czy mogę przekazać parametr lub coś?
to jest to, co naprawdę doceniam
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();
Odpowiedzi:
Zamiast używać
FileWriter
, utwórzFileOutputStream
. Następnie możesz zawinąć to wOutputStreamWriter
, co pozwala przekazać kodowanie w konstruktorze. Następnie możesz zapisać swoje dane na tym w instrukcji try-with-resources :źródło
Spróbuj tego
źródło
Writer out = ...
powinien zostać poprawiony naBufferedWriter out = ...
.Spróbuj użyć
FileUtils.write
z Apache Commons.Powinieneś być w stanie zrobić coś takiego:
Spowoduje to utworzenie pliku, jeśli nie istnieje.
źródło
Wszystkie podane tutaj odpowiedzi nie będą działać, ponieważ pisanie kodu UTF-8 w języku Java jest błędne.
http://tripoverit.blogspot.com/2007/04/javas-utf-8-and-unicode-writing-is.html
źródło
Od wersji Java 7 możesz zrobić to samo
Files.newBufferedWriter
w nieco bardziej zwięzły sposób:źródło
źródło
Java 7 Pliki typu narzędzie jest przydatne do pracy z plikami:
Wersja Java 8 pozwala pominąć argument Charset - metody domyślnie ustawione na UTF-8.
źródło
możemy napisać plik zakodowany w UTF-8 za pomocą Java, używając PrintWriter do napisania pliku XML zakodowanego w UTF-8
Lub kliknij tutaj
źródło
Poniżej przykładowy kod może odczytać plik wiersz po wierszu i napisać nowy plik w formacie UTF-8. Ponadto wyraźnie określam kodowanie CP1252.
źródło