Kodowanie , zapis do pliku.

0

Witam

Mam taki program:

pobiera text wpisany do JTextArea do Stringu
String poprzez klase RandomAccessFile jest zapisywany do pliku
przy pomocy funkci write

I teraz pytanie jak okreslic kodowanie na UTF-8 , chyba ze jest domyślnie, tak żeby zawsze było takie kodowani, i jak
zrobić żeby text wklejony do jTextArea nie zamieniały sie na szlaczki niezrozumiale, tylko byl zawsze taki sam text.

0

Moim zdaniem powinieneś użyć klasy przeznaczonej do zapisu tekstu zamiast RandomAccessFile. Domyślnie java w aplikacjach desktopowych ma kodowanie UTF-16 i tak zapisuje do pliku. Poniżej link do dokumentacji javy:

http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html

Pierwsze linie tekstu opisują jak należy zbudować strumień, żeby wybrać kodowanie.
Poza tym klasa String ma metody pozwalające wykonać konwersję poprzez tablicę bitową. Wtedy możesz wykorzystać RandomAccessFile, niemniej jednak jest to nieuzasadnione w przypadku plików tekstowych.

0

Mam podobny problem i raczej nie mogę użyć FileWriter ponieważ chcę dopisywać tekst do już istniejącego pliku.

0

Moim zdaniem, to chyba wcale nie czytałeś tego, co jest w linku. Ja nie wspomniałem, że trzeba użyć klasy FileWriter.

Poniżej link do dokumentacji javy:

http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html

Pierwsze linie tekstu opisują jak należy zbudować strumień, żeby wybrać kodowanie.

Najważniejsza sprawa, to przeczytać. Jak będziesz miał problem ze zrozumieniem tego, to zapytaj. Dodam jeszcze, że napisałem krótki kod według instrukcji z linka i wszystko działa: mogę wybrać kodowanie i dopisywać do pliku.

0

Wielkie dzięki. Faktycznie dalo radę. ;]

0

Zawsze mozesz zrobic tak:
String s = "jakiś string";
bytes[] b = s.getBytes("UTF-8");
i teraz ta tablice bajtow zapisac za pomoca metody write RandomAccessFile
i po klopocie, pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1