Kodowanie

0

Witam.
Mam problem z zapisem tekstu z odpowiednim kodowaniem.Pliki java kompilowałem pod Windowsem jednak program ma być uruchamiany na Unixie.Po zpisaniu danych do pliku
np. jakis tekst\n dalszy tekst, w pliku dostaje w miejscu \n zamisat nowej linia jakies krzaczki.Czytałem posty na temat kodowania ,ustwiałem rózne kodowania(utf8 asci itp) jednak nic to nie dało.
Uzywanie zamiast \n System.getProperty("line.separator") działa ale tylko pod windowsem po uruchomieniu programu pod Unixem nie nastepują zadne zmiany.
metoda odpowiedzialna za zapis:

        public boolean dopisz2(String dane){
    try{
         FileOutputStream zap=new FileOutputStream(this.sciezka,true);
         zap.write(dane.getBytes("UTF-8"));
                  zap.close();
                }catch (Exception e){
                    System.out.println("Error opening file");
                    return false;
                }
    return true;
       }

Czy moze mi ktos pomoc w jakis sposob to rozwiazac

0

Program zapisales pod windowsem wiec koniec lini to znaki \r\n (domyslnie notatnik tak zapisuje). Pod Unixem to jest tylko \n, wiec krzak wynika z tego ze masz \r dodatkowo. Musisz pod unixem skonwertowac plik zeby zamienic znaki konca lini (np polecenie dos2unix). Nie ma nic wspolnego z kodowanem.
Pozdro.

0

Pod windowsem tylko skompilowałem pliki java programik uruchamiam pod unixem(tam tez tworzą się pliki wyjsciowe .txt).Sytuacja jaką opisałeś miała by miejsce gdym chciał umieścić wyniki programu urochamianego pod windowsem na unixie czego nie robię.

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