Я думаю, что получил лучшее решение.
Объясню это примерами фрагментов кода.
Вот как я устанавливаю фильтр файлов:
jFileChooser.setFileFilter(new FileNameExtensionFilter(".txt", "txt"));
.
После этого основная строка сохранения:
textArea1.write(new BufferedWriter(new FileWriter(jFileChooser.getSelectedFile().getAbsolutePath() + jFileChooser.getFileFilter().getDescription().replace("All Files", ""))));
.
Конечно, наиболее важным является этот фрагмент: jFileChooser.getSelectedFile().getAbsolutePath() + jFileChooser.getFileFilter().getDescription().replace("All Files", "")
.
Единственное, что мне не нравится, это то, что я не смог найти какой-либо метод, подобный 'getExtension', что означает, что у вас не может быть хорошего описания без лишних проблем со строками.
Хорошо, понял. Вы можете сделать что-то подобное:
jFileChooser.getFileFilter().toString().replaceFirst(".*extensions=\\[(.*)]]", ".$1").replaceFirst(".*AcceptAllFileFilter.*", "")
.
К сожалению, это не так красиво, но, кажется, работает как шарм.