Niedawno przerzuciłem się z C# na Java i chcę go wypróbować. Mój program jest napisany z myślą o Linuksie i Windowsie żeby działał na obu platformach. Program potrzebuje wczytać plik tekstowy. Problem tkwi w tym że Notatniki Linuksa przeważnie domyślnie zapisują pliki tekstowe z kodowaniem UTF8 natomiast Windowsa w ANSI(Cp1252). No i program po wczytaniu, przy polskich znakach zostawia krzaki. Wiem że można łatwo zapisać plik w nowym kodowaniu. Ale chcę aby program był maksymalnie prosty dla użytkowników. Czy jest możliwość sprawdzania kodowania pliku przed wczytaniem pliku i odpowiedniego ustawienia kodowania? Ale z tego co wyczytałem nie da się odpowiednio chyba sprawdzić jakie jest kodowanie. To po systemie rozpoznawać rodzaj kodowania?
File file = new File(sciezka);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(sciezka), "UTF8"));