Wyeksportowałem w środowisku Eclipse Neon 2 aplikację okienkową do pliku .jar. Podczas uruchamiania projektu w IDE poprzez [CTRL+F11] aplikacja działa poprawnie, użytkownik po kliknięciu na odpowiedni przycisk wybiera plik do odczytu dzięki JFileChooser, po czym wyświetlane jest okno dialogowe, z jakiej lokalizacji plik został otwarty i następuje wykonanie pozostałych instrukcji.
Natomiast plik .jar owszem wyświetla okienko z wyborem pliku (wybieram ten sam), jednak okno dialogowe o wybranej lokalizacji nie zostaje wyświetlone i dalsze instrukcje (udostępniające inne przyciski) nie są wywoływane, tak jakby żaden plik nie został wczytany.
Proszę o pomoc we wskazaniu gdy popełniam błąd:
public void actionPerformed(ActionEvent evt) {
JButton source = (JButton) evt.getSource();
JFileChooser chooser = new JFileChooser(Paths.get("").toAbsolutePath().toString());
File file = chooser.getSelectedFile();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Plik tesktowy (*.txt)", "txt");
chooser.setFileFilter(filter);
if (source == btnImport) {
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
file = chooser.getSelectedFile();
try {
Scanner scanner = new Scanner(file);
// (...) - odczytywanie z pliku tekstowego - wykonywane również w pliku .jar
} catch (FileNotFoundException e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, "Otwarto plik: " + file.getAbsolutePath()); // nie wyświetla się w pliku .jar
// (...) - czynności mające się wykonać po otwarciu pliku tzn. odblokowanie przycisków
}
}
// (...) - dalsze operacje actionPerformed()
}
Okazuje się, że kod jest poprawny. Kiedy odczytuję plik tekstowy z pliku uruchamianego w Eclipsie program odczytuje polskie znaki, natomiast odczytywanie pliku tekstowego z pliku .jar przebiega pomyślnie tylko gdy nie ma w nim polskich znaków, w przeciwnym znaku powstaje coś takiego...

Wobec tego powstaje pytanie, w jaki sposób ustawić odczyt z pliku w kodowaniu UTF-8 jako domyślny?