Вы можете добавить фильтр файлов к средству выбора файлов, который проверяет, является ли файл файлом XML.
Когда пользователь выбрал файл, вы проверяете содержимое этого файла и, если он недействителен, вы простоСнова откройте средство выбора файлов, например, в цикле, который завершается, когда файл является допустимым или пользователь выбрал опцию отмены.
В основном цикл может выглядеть следующим образом (он быстро записывается и может содержать ошибки):
int option = CANCEL_OPTION;
boolean fileIsValid = false;
do {
option = filechooser.showOpenDialog(); //or save?
if( option == OK_OPTION ) {
fileIsValid = isValid( filechooser.getSelectedFile()); //implementation of isValid() is left for you
}
} while( option == OK_OPTION && !fileIsValid);
Этот цикл выполняет следующие действия:
- открывает окно выбора файлов и получает выбранную опцию
- , когда выбрана опция OK, выбранный файл отмечен
- когда выбрана опция ОК, но выбранный файл недействителен, выполните другую итерацию - в противном случае завершите цикл (если была выбрана другая опция, например, ОТМЕНА, или файл действителен)